Parse error: syntax error, unexpected 'http' (T_STRING) in /home/public_html/ecrire/public/evaluer_page.php(56) : eval()'d code on line 196

soit la boucle suivante

<BOUCLE_article_marquee(ARTICLES){id_rubrique=110}{par date}{inverse}{0,5}>
        <div style="float:left; width:auto; overflow:hidden;"><a href="#URL_ARTICLE"><div class="defil_title">[(#TITRE|supprimer_numero)] :</div><div class="defil_desc">
        <?php
            $text = "#TEXTE";
            $text = str_replace("<p>","",$text);
            $text = str_replace("</p>","",$text);
            $Text_Length = strlen($text);
            if($Text_Length > 110)
            {
                $Dots = '...';
                $Resume=substr($text,0,110);
                if(strrpos($Resume,32)!=false) $New_Resume = substr($Resume,0,strrpos($Resume,32));
                    else $New_Resume = $Resume;
                if(strrpos($New_Resume,".") == strlen($New_Resume)-1)
                    $New_Resume = substr($New_Resume,0,strlen($New_Resume)-1);

                $text_final = htmlspecialchars( trim($New_Resume).$Dots );
            }
            else $text_final = htmlspecialchars( $text );

        echo $text_final;
        ?>
    </div></a></div>
    </BOUCLE_article_marquee>

comment éviter l'erreur ?

Parse error: syntax error, unexpected 'http' (T_STRING) in /home/public_html/ecrire/public/evaluer_page.php(56) : eval()'d code on line 196

--
@micalement stéphane
www.spipfactory.com
----
Cette liste m'est décidément d'une utilité précieuse et indispensable.

Bonjour,

On ne met jamais de php dans les squelettes SPIP, ce n’est pas fait
pour. D’autant que si je saisie bien ce que tu veux faire, il me semble
que tu t’y prend hyper mal.

Pour couper le texte des article correctement il y a #INTRODUCTION:

|<BOUCLE_article_marquee(ARTICLES){id_rubrique=110}{par date}{inverse}{0,5}>
        <div style="float:left; width:auto; overflow:hidden;"><a href="#URL_ARTICLE"><div class="defil_title">[(#TITRE|supprimer_numero)] :</div><div class="defil_desc">
    #INTRODUCTION{110}
</div></a></div>
</BOUCLE_article_marquee>
|

On peux ne pas aimer les |(...)| et vouloir mettre |...| simplement.
Dans ce cas, il suffit d’ajouter ceci dans mes_options.php:

|define('_INTRODUCTION_SUITE', '...');
|

CF la doc: #INTRODUCTION - SPIP

Didier

Didier

Le 18/01/15 13:32, spipfactory@free.fr a écrit :

soit la boucle suivante

<BOUCLE_article_marquee(ARTICLES){id_rubrique=110}{par
date}{inverse}{0,5}>
        <div style="float:left; width:auto; overflow:hidden;"><a
href="#URL_ARTICLE"><div
class="defil_title">[(#TITRE|supprimer_numero)] :</div><div
class="defil_desc">
        <?php
            $text = "#TEXTE";
            $text = str_replace("<p>","",$text);
            $text = str_replace("</p>","",$text);
            $Text_Length = strlen($text);
            if($Text_Length > 110)
            {
                $Dots = '...';
                $Resume=substr($text,0,110);
                if(strrpos($Resume,32)!=false) $New_Resume =
substr($Resume,0,strrpos($Resume,32));
                    else $New_Resume = $Resume;
                if(strrpos($New_Resume,".") == strlen($New_Resume)-1)
                    $New_Resume =
substr($New_Resume,0,strlen($New_Resume)-1);

                $text_final = htmlspecialchars(
trim($New_Resume).$Dots );
            }
            else $text_final = htmlspecialchars( $text );

        echo $text_final;
        ?>
    </div></a></div>
    </BOUCLE_article_marquee>

comment éviter l'erreur ?

Parse error: syntax error, unexpected 'http' (T_STRING) in
/home/public_html/ecrire/public/evaluer_page.php(56) : eval()'d code
on line 196

Bonjour,

je ne peux que suivre l'avis de Didier, et j'ajouterais que si tu as
vraiment besoin de fonctions écrites en php pour traiter certains
éléments, tu peux le faire en utilisant mes_fonctions pour définir des
filtres maison. Il existe une foule de petites astuces qui permettent de
se passer de php dans le code des boucles... et donc d'éviter les
problèmes associés ( gestion du cache erratique, erreurs dans certains
cas etc ).
Il me semble que tu peux également définir des pipelines maison et en
les appelant avec #PIPELINE{monpipeline} , tu peux donc faire exécuter
un code proprement dans un squelette par ce biais.

Bon cela été sur du dépannage; a priori le pb est résolu : un titre d'article comporté les guillemets anglaise le fait de les supprimer l'erreur a disparu

je vous remercie pour les réponses mais je n'irais pas plus loin , n'étant pas ni le concepteur , ni le webmestre du site.
je laisse donc Ouahiba se pencher sur la solution proposé

mais quand je peu aider , j'essaye ...

Le 18/01/2015 13:46, Debondt Didier a écrit :

Bonjour,

On ne met jamais de php dans les squelettes SPIP, ce n’est pas fait
pour. D’autant que si je saisie bien ce que tu veux faire, il me semble
que tu t’y prend hyper mal.

Pour couper le texte des article correctement il y a #INTRODUCTION:

|<BOUCLE_article_marquee(ARTICLES){id_rubrique=110}{par date}{inverse}{0,5}>
         <div style="float:left; width:auto; overflow:hidden;"><a href="#URL_ARTICLE"><div class="defil_title">[(#TITRE|supprimer_numero)] :</div><div class="defil_desc">
     #INTRODUCTION{110}
</div></a></div>
</BOUCLE_article_marquee>
|

On peux ne pas aimer les |(...)| et vouloir mettre |...| simplement.
Dans ce cas, il suffit d’ajouter ceci dans mes_options.php:

|define('_INTRODUCTION_SUITE', '...');
|

CF la doc: #INTRODUCTION - SPIP

Didier

Le 18/01/15 13:32, spipfactory@free.fr a écrit :

soit la boucle suivante

<BOUCLE_article_marquee(ARTICLES){id_rubrique=110}{par
date}{inverse}{0,5}>
         <div style="float:left; width:auto; overflow:hidden;"><a
href="#URL_ARTICLE"><div
class="defil_title">[(#TITRE|supprimer_numero)] :</div><div
class="defil_desc">
         <?php
             $text = "#TEXTE";
             $text = str_replace("<p>","",$text);
             $text = str_replace("</p>","",$text);
             $Text_Length = strlen($text);
             if($Text_Length > 110)
             {
                 $Dots = '...';
                 $Resume=substr($text,0,110);
                 if(strrpos($Resume,32)!=false) $New_Resume =
substr($Resume,0,strrpos($Resume,32));
                     else $New_Resume = $Resume;
                 if(strrpos($New_Resume,".") == strlen($New_Resume)-1)
                     $New_Resume =
substr($New_Resume,0,strlen($New_Resume)-1);

                 $text_final = htmlspecialchars(
trim($New_Resume).$Dots );
             }
             else $text_final = htmlspecialchars( $text );

         echo $text_final;
         ?>
     </div></a></div>
     </BOUCLE_article_marquee>

comment éviter l'erreur ?

Parse error: syntax error, unexpected 'http' (T_STRING) in
/home/public_html/ecrire/public/evaluer_page.php(56) : eval()'d code
on line 196

--
@micalement stéphane
www.spipfactory.com
----
Cette liste m'est décidément d'une utilité précieuse et indispensable.