Copier une sous chaîné

Résolu
Arbitta Messages postés 84 Statut Membre -  
Arbitta Messages postés 84 Statut Membre -
salut ,
je vais être folle de cette fonction là. j'ai une chaine et je veut extraire une partie de cette chaine .J'ai essayé ce code mais rien n'a marché :'(
<?php 
$chaine = '<img src="monimage35_n.jpg" />';
$c=strlen($chaine);
$new= substr ($chaine,0,($c-2));
echo "ma nouvel chaine est :   ".$cop;
?>

je veut éliminer />
je veut que $new me renvoi : <img src="monimage35_n.jpg"
Aidez moi svp .

3 réponses

  1. Utilisateur anonyme
     
    Bonjour

    Tu sais que pour éliminer les deux derniers caractères, il suffit de substr($chaine,0,-2) ? Voir toutes les autres possibilités dans le manuel :
    https://www.php.net/manual/fr/function.substr.php

    Mais ce que tu as écrit devrait marcher aussi... Sauf que tu as le résultat dans $new et que tu affiches $scop, tu te trompes de variable.
    0
    1. Arbitta Messages postés 84 Statut Membre
       
      j'ai essayé aussi substr($chaine,0,-2) mais rien n'est affiché . Je suis sure de ma variable. ça me semble beaucoup étrange . :(
      0
  2. Utilisateur anonyme
     
    Je suis sure de ma variable
    De quoi es-tu sure ?
    Ta variable c'est $new :
    $new= substr ($chaine,0,($c-2));
    Mais celle que tu affiches c'est $cop :
    echo "ma nouvel chaine est : ".$cop;
    0
    1. Arbitta Messages postés 84 Statut Membre
       
      oui je sais j'ai essayé ça aussi mais rien n'ai affiché
      <?php 
      $chaine = '<img src="monimage35_n.jpg" />';
      $c=strlen($chaine);
      $new= substr ($chaine,0,($c-2));
      echo "ma nouvel chaine est :   ".$new;
      ?>
      
      0
  3. Utilisateur anonyme
     
    Tu sais que si tu as le caractère "<" dans une page HTML, c'est pris pour un début de balise, et que donc tu ne vois pas le "<" ni ce qui suit jusqu'au ">" qui ferme la balise ?
    C'est le principe même des balises en HTML.
    Donc ton <img src="monimage35_n.jpg" est certainement envoyé à ta page. As-tu regardé (avec Ctrl U) le code de ta page HTML ?
    Si tu veux vraiment voir le texte, et non pas envoyer une balise, il NE FAUT PAS envoyer de "<", mais utiliser les entités HTML, par exemple :
    echo "ma nouvel chaine est :   ", htmlspecialchars($new);

    https://www.php.net/manual/fr/function.htmlspecialchars.php
    0
    1. Arbitta Messages postés 84 Statut Membre
       
      ça marche enfin merci bien :)
      0