2016-06-17 7 views
0

Ich habe ein Problem mit Regex. Der Versuch, Strings im Text zu löschen, begann mit "(Kapitel 1)" Einschränkungen, aber es funktioniert nicht.php regexp wie lösche Zeichenfolgen nach Teilzeichenfolge

$line = preg_replace('/(\(chapter.*$/', '', $line); 

Text Beispiel:

(charter 1)sample text, sample text. 
(charter 2)sample text, sample text. 
(charter 3)sample text, sample text. 
+2

Sie 'chapter' suchen, aber Ihr Beispieltext hat' charter' und Ihr Muster hat in einem ungekündigten '(' Capture-Gruppe, so dass für einen Regex-Syntaxfehler –

+1

Женя, ist es ein mehrzeiliger String oder nur mehrere separate Strings? Was ist auch die erwartete Ausgabe für diesen String/jede der Strings? Versuchen Sie ''/^\ (charter \ h + \ d + \) . */m'' wenn es sich um einen mehrzeiligen String handelt. –

+0

Vielleicht '\ ((charter [^)] +) \). *'. https://regex101.com/r/wB1kC4/2 – chris85

Antwort

0
$str = "(charter 1)sample text, sample text."; 
$str = preg_replace("#^\(charter \d*\)#", "", $str); 

// output: sample text, sample text. 
Verwandte Themen