Опитвам се да заместя всички варианти на тези маркери с бяло пространство:
<text:s></text:s>
<text:s/>
<text:s anyattributes/>
Но <text:span>
не трябва да бъде засегната.
preg_replace("/<\/?text:s(\s+.*?>|>)/", " ", $string);
Какво правя грешно?
Отговори:
1 за отговор № 1Използвайте по-долу реге и заменете мача с интервал.
</?text:sb[^<>]*>
код ще бъде,
preg_replace("~</?text:sb[^<>]*>~", " ", $string);
b
границата на думите ви помага да свършите работата. От b
съвпада между думата и не-слоен характер, горният регекс няма да съответства на низа <text:span>
защото между тях няма граница между думите s
и p