So entschied ich mich, einen Stich zu haben, ein Texthervorhebungssystem zu machen. Im Moment bin ich mit str_replace
nur ein Wort zu ersetzen (zB $rstr = str_replace("Console", "<c>Console</c>", $str
wo $str
ist die Eingabezeichenfolge.
Etwas, das ich verblüfft war, wie Inhalte zu ersetzen, innerhalb von Sprachzeichen (") und Anführungszeichen ('). Für wenn beispielsweise die Zeichenfolge „Console“ in Console.WriteLine("Words");
gedreht, wie würde ich ersetzen "Words"
mit <sr>"Words"</sr>
(<sr>
in einem externen Stylesheet definiert ist)?
ich allerdings hatte die ich Regex verwenden könnte, aber 1. ich glaube nicht, wissen, wie man regex schreibt, und 2. ich weiß nicht, wie man regex mit str_replace
. php - Ersetzen von Inhalt in doppelte Anführungszeichen, einschließlich doppelte Anführungszeichen
Meine Abhilfe Lösung:
function hlStr($original)
{
$rstr = explode('"', $original);
return $rstr[0].'<sr>"'.$rstr[1].'"</sr>'.$rstr[2];
}
das ist nicht das Problem ist, das Problem der doppelten Anführungszeichen ersetzt, und alles dazwischen (das ist nicht vorbestimmt) mit ihnen, und enthalten sie innerhalb '' tags. So 'Console.WriteLine (" RandomWords ");' muss in 'Console.WriteLine (" RandomWords ");'. Ich bin nicht sicher, wie ich das machen soll, weil ich vorher nicht bestimmen kann, was "RandomWords" sein wird, und es könnte mehrere Vorkommnisse innerhalb der Zeichenfolge geben, bei der Dinge ersetzt werden. –
LMS
oh. Sie brauchen Regex. –
Ja, aber ich bin nicht sicher, wie man das in 'str_replace' implementiert, und ich bin unsicher, wie man Regex schreibt. – LMS