我有一个写XML文件的系统。
问题是我不能在XML文件中有这个符号&
我需要用&
问题是我有很多字符串,我不想应用一个函数来替换我拥有的每一个字符串的符号。
这是一个例子:
$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;
在新变量中,您可以看到所有&现在换成了&
你不能在浏览器中看到结果,因为浏览器会显示所有&如,
您需要查看代码或在终端中测试代码。