Ich habe Schwierigkeiten zu verstehen, wie die PHP-Funktionen stripos
und str_replace
funktionieren.Wie funktionieren stripos und str_replace?
Ich habe einen Körper von Text wie: {% if group.newt !== "" %} XYZ's {% else %} ABC's {% endif %}
und bin zu wollen, dass Text mit Go to this link www.google.com
zu ersetzen.
ich durch den Körper von Text zu suchen:
if(stripos($entity->getBodyOfText(), $strTFind) !== false) {preg_match("{% if group.newt !== "" %} XYZ's {% else %} ABC's {% endif %}", $strToReplace)};
ODER
$str_replace($strToFind, $strToReplace, $entity->getBodyOfText());
Die Ergebnisse erhalte ich bin, dass der Text nicht oder ersetzt gefunden wird! Ich verstehe nicht warum. Könnte jemand bitte das für mich beleuchten?
EDIT:
Der Körper des Textes ist eine E-Mail-Vorlage mit vielen Bildern, Text und Zweig-Code. In einer bestimmten Reihe von E-Mail-Vorlagen muss ich einen ganzen Block Zweigcode mit einer Textzeile finden und ersetzen (es spielt keine Rolle, was dieser Text ist). Das Problem, das ich habe, ist, wenn ich nach dem Block des Codes in den E-Mail-Vorlagen unter Verwendung str_replace
oder preg_replace
suche, diese Funktionen nicht finden oder den Block ersetzen, den ich suche und ersetze.
Also meine Ausgabe ist die gleiche (nichts wird gefunden, nichts wird geändert).
Zum Beispiel:
`here would be an image
now starts a heading,
some more text with {{ twig.variable }} and then more text.
more
text, lots more text some {% twig.fucntions %}blah{% ending %} and
then here is the block
I want to find and replace: {% replace this whole thing including the brackets and percentage signs %}keep replacing
{% else %}
replace that else (everything including the brackets and percentage signs)and
{% this too %}.
some more ending text.
image,
the end`
Ich hoffe, das hilft!
Was ist ein kleines Beispiel für den vollständigen String, in dem sich der Teilstring '{% ...% }' befindet? – mickmackusa
es ist Zweig Code ... "{% if Anweisungen! ==" "%} Dies sollte zeigen {% else%} eine andere Sache zeigt {% endif%}". – grgre
Ich bin nicht mit Zweig-Code vertraut. Wenn ich versuche, anderen Benutzern mit str/preg zu helfen, Typfragen zu ersetzen, sehe ich gerne eine klare Erklärung dafür, was die gesamte Eingabe ist, was sie als Teilzeichenfolge ansteuert und was an ihrer Stelle steht. Ich sehe, dass Sie die Verbindungszeichenfolge eingeben möchten, aber der Rest ist unklar. Bitte zeigen Sie alle Vor- und Nachtexte an, damit Ihre Frage kristallklar ist. Gibt es mehr Text außerhalb des Zweigausdrucks? – mickmackusa