在添加PHP之前编辑字符串在添加之前
问题描述:
我有一个写入XML文件的系统。在添加PHP之前编辑字符串在添加之前
的问题是,我不能在XML文件中有这样的符号&
我需要更换这个符号无论它是在代码中查找与&
问题是我有一个字符串的LOT ,我不想应用一个函数来替换每个单独字符串的符号。
这是一个例子:
$stringData ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$stringData .="<ingrooves_import xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xsi:schemaLocation=\"http://schemas.ingrooves.com/INgrooves/INgroovesImport_1_0.xsd\" schema_version=\"1\" schema_revision=\"0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://schemas.ingrooves.com/INgrooves/INgroovesImport_1_0.xsd\">\n";
$stringData .= "<album>\n";
$stringData .= "<title>".$albumTitle."</title>\n";
$stringData .= "<label_reference>LA0001</label_reference>\n";
$stringData .= "<performer>".$MainArtist."</performer>\n";
$stringData .= "<catalog_number>".$CatalogueNumber."</catalog_number>\n";
$stringData .= "<upc>".$UPC_EAN_JAN."</upc>\n";
$stringData .= "<release_date>".$releaseDate."</release_date>\n";
$stringData .= "<copyright>".$DigiDistYear."</copyright>\n";
而且我有更多的$ StringData是在我的代码。所以你可以理解我不想申请每一个$ stringData代码来代替那个符号。
我想找到一种方法来告诉的代码,对任何$ StringData是可变的,而对于任何内容,此$ StringData是会遇到,那么它必须与&
更换&
是否有这样做的一种方式它?
在几句话,代码应该这样做:
为您准备的变量$ StringData是里面遇到,从现在开始每个内容,你应该改变&
与&
每次遇到这个符号。
请帮帮我!
感谢
答
在脚本的最后,当你完成添加代码字符串,添加以下内容:
$stringData = str_replace ('&','&',$stringData);
您可以用正则表达式也这样做,但这样会藏汉工作: - )
答
这可能太过牵强......但在构建XML输出后简单使用str_replace
怎么办?
$stringData = str_replace('&','&',$stringData);
注:
这将取代甚至已经存在&
到&amp;
,所以一定要确保你不已经在使用此代码之前有一些&
在您的字符串。
答
利用这一点,它应该很好地工作:
$stringData = str_replace('&','&',$stringData);
答
我不知道如果我理解正确你的问题。
基本上,在任务结束时,你&
$myString = "this is a test & you &&& can & see";
$newString = str_replace('&', '&', $myString);
echo $newString;
取代&内StringData是所有出现在新的变量,你可以看到,所有&与&
现在条代替您无法在浏览器中看到结果,因为浏览器将显示全部&为&
您需要查看代码或在终端中测试代码。
最后?不在顶部?如果我把它放在底部,它不会写错吗?在写任何东西之前不应该遵循这个规则吗? –
不,因为这个搜索每一个&后都执行,所以你需要在字符串中实际有&符号才能工作。你必须在你要输出到文件或回声之前使用它,或者其他什么。 –
谢谢。它不需要额外的$ stringData。=而不是$ stringData =?谢谢 –