Domanda

Sto analizzando e il tipo di testo che voglio abbinare e poi renderlo nullo è il seguente: -

<tr class="label-BGC"><td colspan="4">any kind of text here</td></tr> 

Voglio abbinare ogni riga che contiene "<tr class="label-BGC"><td colspan="4">any text</td></tr>"

è sera e la batteria del mio cervello è completamente scarica

quello che sto cercando di fare è: -

$patterns='<td colspan="4">'.stristr($parsed,'[^a-z0-9_- $]').'</td></tr>';
$replacements=' ';
$parsed = str_replace($patterns, $replacements, $parsed);

$ parsed contiene tutti i dati che stanno analizzando.

il mio codice non funziona qualcuno può aiutarmi con alcuni suggerimenti qui !!!

È stato utile?

Soluzione

Prova qualcosa di semplice come questo:

$parsed = preg_replace('{<tr class="label-BGC"><td colspan="4">.*?</td></tr>}', 
                      $replacements, $parsed);

Il. corrisponde a qualsiasi carattere, il * lo fa corrispondere a 0-molti e il? impedisce che sia avido, ad es. si fermerà alla prima sequenza e non all'ultima possibile.

Altri suggerimenti

Prova quanto segue:

preg_replace("`\s*<tr\s+class\s*=\s*"label-BGC"\s*>\s*<td\s+colspan\s*=\s*"4"\s*>.*?</td\s*>\s*</tr\s*>\s*`i", "", $content);

Tutta la corrispondenza \s potrebbe essere un po 'eccessiva, ma è molto tollerante se questo input proviene da un utente.

Altrimenti, probabilmente puoi semplicemente cavartela

preg_replace("`<tr class="label-BGC"><td colspan="4">.*?</td></tr>`i", "", $content);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top