Ich muss die Sätze oder Absätze zu jedem Wort extrahieren und das Wort in ein anderes Formular manipulieren. Zum Beispiel, ich brauche das Wort ‚Nudel‘ zu ‚## Nudel ##‘ zu ändern. Ich verwende diesen Code, um den Satz in Wörter zu explodieren und wieder mit implode()
Funktion zu kombinieren.Wiederherstellen des String-Formats nach der Manipulation
function display_sentence_with_answer($str="")
{
$arr_output = [];
$str = preg_replace("#<p>(\s| |</?\s?br\s?/)*</?p>#","",$str);
$words = preg_replace('#<[^>]+>#', ' ', $str);
$arr_words = preg_split('/<[^>]+>(?:\s+<[^>]+>)*|\s+/u', trim($words));
foreach($arr_words as $word)
{
$arr_output[] = '##'.$word.'##';
}
$output_str = implode(" ",$arr_output);
return $output_str;
}
Eingang:
Nyatakan pecahan bagi rajah di bawah.
<br/>
4/5
<p>
p</p>
Allerdings habe ich die Ausgabe:
##Nyatakan## ##pecahan## ##bagi## ##rajah## ##di## ##bawah.## ##4/5## ##p##
Wie meine aktuellen Eingabeformat wiederherzustellen zurück? Wer erlebt diese Art von Anforderungen?
würde Mein erwartet ausgegeben:
##Nyatakan## ##pecahan## ##bagi## ##rajah## ##di## ##bawah.##
<br/>
##4/5##
<p>
p</p>
Dank!
Sie könnten ein Array mit zwei Elementen zurückgeben: Original-String und verarbeiteter String. – user1915746
@ user1915746 Würde nicht wirklich helfen, da er immer noch identifizieren muss, welche Zeichenfolgen < or /> in ihnen haben. er kann auch die Überprüfung dafür in seinem ursprünglichen Array machen – IsThisJavascript