REGEX mit Preg_Match, um eine ähnliche Zeichenfolge zu finden und zu ersetzenPhp

PHP-Programmierer chatten hier
Anonymous
 REGEX mit Preg_Match, um eine ähnliche Zeichenfolge zu finden und zu ersetzen

Post by Anonymous »

Ich verwende regelmäßige Ausdrücke mit preg_replace () , um einen Satz in einem Textstück zu finden und zu ersetzen. Der $ search_string enthält nur Text + HTML -Tags + & nbsp; Elemente. Das Problem ist, dass nur manchmal die & nbsp; Elemente in der Laufzeit in den White -Space konvertieren und es schwierig machen, mit str_replace () zu finden und zu ersetzen. Ich versuche also, ein Muster zu erstellen, das der Suchzeichenfolge entspricht und so etwas übereinstimmt, das die & nbsp; < /code> Elemente enthält oder nicht.

Code: Select all

$search_string = 'Two years in,&nbsp;the company has expanded to 35 cities, five of which are outside the U.S. Plus,&nbsp;in&nbsp;April, [url=site.com]ClassPass[/url] acquired its main competitor,&nbsp;Fitmob.';
< /code>

$pattern
= $ search_string (ignorieren Sie die & nbsp; Elemente im Betreff)

Code: Select all

$subject = "text text text text text". $search_string . "text text text text text";
< /code>

Using A regular expression to exclude a word/string, I've tried:

     $pattern = '`^/(?!\&nbsp;)'.$search_string.'`';
$output = preg_replace($pattern, $replacement_string,$subject);
< /code>

The end result will be that if the $subject does contains a string that is like my $seach_string
Aber ohne die Elemente & nbsp; stimmt es immer noch überein und ersetzt sie durch $ ersatz_string

Bearbeiten:

Die tatsächlichen Werte:

Die tatsächlichen Werte:

Code: Select all

$subject = file_get_contents("http://venturebeat.com/2015/11/10/sources-classpass-raises-30-million-from-google-ventures-and-others/");

$search_string = "Two years in,&nbsp;the company has expanded to 35 cities, five of which are outside the U.S. Plus,&nbsp;in&nbsp;April, ClassPass acquired its main competitor,&nbsp;Fitmob.";

$replacement_string = "Two years in,&nbsp;the company has expanded to 35 cities, five of which are outside the U.S. Plus,&nbsp;in&nbsp;April, ClassPass acquired its main competitor,&nbsp;Fitmob.";

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post