Aussi dur que j'essaie, PREG, et je ne suis pas le long, donc, j'espère de vous gourous PHP peut aider ..PHP PREG Question
J'ai un code HTML à venir dans un Script PHP, et j'ai besoin d'éléments spécifiques supprimés/supprimés du code source.
Première, si cela vient dans le cadre de HTML (peut-être plusieurs instances):
<SPAN class=placeholder title="" jQuery1262031390171="46">[[[SOMETEXT]]]</SPAN>
je le veux converti en simplement [[[someText]]]
Remarque que le préfixe sera toujours (je pense):
<SPAN class=placeholder
.. et le suffixe sera toujours
</SPAN>
(oui, capitale SPAN), mais le titre = "" et ### jQuery = "#" pièces peuvent être différentes. [[[SOMETEXT]]] peut être n'importe quoi. Je veux essentiellement que la balise SPAN soit supprimée.
Ensuite, si cela vient dans le cadre du HTML (pourrait également être plusieurs instances):
<span style="" class="placeholder" title="">[[[SOMETEXT]]</span>
.. même chose - je veux juste le [[[someText]]] partie rester. Je pense que pièce sera toujours préfixe, et (dans ce cas, minuscules span tags) sera suffixe.
Je comprends cela peut probablement prendre deux commandes PREG, mais aimerait pouvoir passer dans le texte html en fonction et obtenir une version nettoyée/dénudée, quelque chose comme ceci:
$dirty_text = $_POST['html_text'];
$clean_text = strip_placeholder_spans($dirty_text);
function strip_placeholder_spans($in_text) {
// all the preg magic happens here, and returns result
}
AJOUTÉE/MIS À JOUR POUR LA CLARTÉ
Ok, obtenir de bons commentaires, et se rapprocher. Cependant, pour le rendre plus clair, voici un exemple. Je veux envoyé ce texte dans la fonction strip_placeholder_spans():
<blockquote>
<h2 align="center">Firefox: <span class="placeholder" title="">[[[ITEM1]]]</span></h2>
<h2 align="center">IE1:<SPAN class=placeholder title="" jQuery1262031390171="46">[[[ITEM2]]]</SPAN>
</h2>
<h2 align="center">IE2:<SPAN class=placeholder title="" jQuery1262031390412="52">[[[ITEM3]]]</SPAN>
</h2>
<h2 align="center"><br><font face="Arial, Helvetica, sans-serif">COMPLETE</font></h2>
<p align="center">Your Text Can Go Here</p>
<p align="center"><a href="javascript:self.close()">Close this Window</a></p>
<p align="center"><br></p>
<p align="center"><a href="javascript:self.close()"><br></a></p></blockquote>
<p align="center"></p>
et quand il revient, il devrait être le suivant:
<blockquote>
<h2 align="center">Firefox: [[[ITEM1]]]</h2>
<h2 align="center">IE1:[[[ITEM2]]]</h2>
<h2 align="center">IE2:[[[ITEM3]]]</h2>
<h2 align="center"><br><font face="Arial, Helvetica, sans-serif">COMPLETE</font></h2>
<p align="center">Your Text Can Go Here</p>
<p align="center"><a href="javascript:self.close()">Close this Window</a></p>
<p align="center"><br></p>
<p align="center"><a href="javascript:self.close()"><br></a></p></blockquote>
<p align="center"></p>
Ici, nous allons à nouveau sur l'analyse des balises HTML avec des expressions régulières ... S'il vous plaît voir cette réponse - http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contenu- tags/1732454 # 1732454 – LiraNuna
Parsing Html Le Cthulhu Way: http://www.codinghorror.com/blog/archives/001311.html –
Ici, nous allons à nouveau avec la position "html + regex is evil." Ne pas essayer go PARSE HTML ici LiraNuna - juste vouloir rechercher et remplacer du texte.Ne voulez pas utiliser une scie électrique pour couper un cure-dent.S'il aide, prétendre qu'il n'y a pas de < and > symboles dans le texte – OneNerd