Mein Ziel ist es, "Herkunft-" aus der URL in einem untergeordneten Element in meiner sitemap.xml-Datei zu entfernen.PHP - entfernen Sie bestimmten Text aus Element in XML-Datei
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>
http://origin-www.customURL.com
</loc>
<lastmod>2017-03-02</lastmod>
<changefreq>daily</changefreq>
<priority>0.0</priority>
</url>
<url>
<loc>
http://origin-www.customURL.com/11/2013/
</loc>
<lastmod>2017-03-02</lastmod>
<changefreq>daily</changefreq>
<priority>0.0</priority>
</url>
<url>
<loc>
http://origin-www.customURL.comshopper-oxblood/11/2013/
</loc>
<lastmod>2017-03-02</lastmod>
<changefreq>daily</changefreq>
<priority>0.0</priority>
</url>
</urlset>
Der PHP-Code ich verwende versagt die foreach-Schleife laufen und wird die Datei ohne Änderungen ausgibt.
Dies ist der PHP-Code, den ich in einem Versuch, das Element zu ziehen und „str_replace“ entfernen „herkunfts“ verwenden:
<?php
$xml = simplexml_load_file("sitemap.xml");
foreach ($xml->urlset->url->loc as $URL)
{
$incorrectTextURL = array("origin-");
$onlyconsonants = str_replace($incorrectTextURL, "", $URL);
}
echo $xml->asXml();
?>
Ich weiß, dass ich etwas falsch hier tue, die "foreach" -Anweisung bleibt fehlerfrei und es werden keine Änderungen an der Datei vorgenommen.
schätzen nicht nur die Einsicht
Danke, Chris
Schätzen Sie Ihren Einblick, macht Sinn, aber es tut Scheint, ich laufe in denselben Fehler. gibt es die folgende Fehlermeldung: PHP Warning: Invalid argument für foreach geliefert() in remove_text_from_url.php auf Linie 5 Linie verwiesen wird, ist die "foreach" line -> foreach ($ xml-> urlset-> URL- > loc als $ URL) – CLaB
Entschuldigung Ich habe keine + + $ URL in der foreach-Empfehlung eingefangen, verändert sich leider nicht viel, da ich einmal einen anderen Fehler in Bezug auf das hinzugefügte Zeichen bekomme: PHP Fataler Fehler: Ein Iterator kann nicht mit foreach verwendet werden – CLaB
In welcher Version von PHP sind Sie? In neueren Versionen von PHP (5.6+ glaube ich) können Sie als Referenz weitergeben, vorausgesetzt, Ihr Fehler liegt daran, dass Sie auf 5.3.x – skrilled