2017-09-30 4 views
0

Je veux supprimer les étiquettes. Lorsque j'utilisePHP utilisant strip_tags pour ignorer le texte en <a> Tags

$ta=strip_tags($_REQUEST['textarea'],'<a>'); 

retourne <a> tags. Si je

$ta=strip_tags($_REQUEST['textarea']); 

il comprend l'intérieur du <a href>.

Je ne veux que du texte. Par exemple, avec ce html

$text= '<p>test paragraph.</p>'<a href="index.php">Click link</a>'; 

Je veux seulement test paragraph, mais je reçois test paragraph.Click link

Merci pour votre aide

+0

Utilisation 'strip_tags ($ _ REQUEST [ 'textarea']);' vous obtiendrez le texte seulement? De même, le réglage de "$ text" n'est pas syntaxiquement correct. (Vous pouvez voir que la surbrillance échoue) – SourceOverflow

+0

au dernier exemple de code strip_tags ($ text) me donnera "test paragraphe.Click Link" mais je veux seulement "test paragraphe" – sipdorus

+0

Vous devez probablement spécifier ce que vous entendez par texte. Et une table? Est-ce le texte ou pas? – Andreas

Répondre

1

Si c'est seulement <a href balises que vous ne l'aimez pas commenté dans les commentaires au-dessus de cela devrait les effacer et vous laisser avec le reste qui peut être facilement enlevé avec strip_tags().

$text= '<p>test paragraph.</p><a href="index.php">Click link</a><p>test paragraph.</p><a href="index.php">Click link</a><p>test paragraph.</p>'; 

$pos = strpos($text, "<a href"); // find first a href 

while($pos !== false){ // loop until there is no more a href 
    $pos2 = strpos($text, "</a>", $pos)+4; // find the end tag of the a 
    $text = substr($text, 0, $pos) . substr($text, $pos2); // remove the tag and link text 
    $pos = strpos($text, "<a href"); // find the next. If none is found "false" is returned meaning while ends. 
} 

echo strip_tags($text); // strip away other tags. 

https://3v4l.org/YtJic