我正在尝试使用 php 生成站点地图,但由于我的某些产品名称包含“&trade”,因此出现错误。我知道 & 需要转义到 &,但我不确定如何处理 &trade。这是一个很难搜索的问题,我敢肯定它会为某人找到,但我找不到相关的东西。// Remove Whitespace from Linksfunction url_safe ($data) { $data = preg_replace('/\s/', '-', htmlentities($data)); return $data; }//URLs for Products$query = "SELECT product_id, product_name FROM product WHERE active = 'Y'";$result = mysqli_query($dbc, $query) or die(mysqli_error($dbc) . '<br />Query: ' . $query);while($row = mysqli_fetch_array($result)) { $data .= "\t<url>\n"; $data .= "\t\t<loc>https://www.example.com/product.php?pid=$row[0]&name=" . url_safe($row[1]) . "</loc>\n"; $data .= "\t\t<changefreq>monthly</changefreq>\n"; $data .= "\t\t<priority>1.0</priority>\n"; $data .= "\t</url>\n"; $i++;}这是我对标题中带有 &trade 的任何产品的错误。XML 解析错误:未定义的实体以下是生成的输出中导致错误的示例。 <url> <loc>https://www.example.com/product.php?pid=2738&name=My-Product™-Has-A-Trademark</loc> <changefreq>monthly</changefreq> <priority>1.0</priority> </url>
2 回答
- 2 回答
- 0 关注
- 128 浏览
添加回答
举报
0/150
提交
取消