使用 PHPWord 填写 docx 文档时转义 '&'
Escape '&' when filling in a docx document using PHPWord
我正在构建一个必须填写 docx 文档的 Web 应用程序。我正在使用由 PHPWord 提供的 TemplateProcessor,它采用在文档上呈现的特定钩子并将其替换为给定的字符串。我遇到的问题是当字符串中出现“&”时 - 文档因缺少“;”而损坏。
我用来清理字符串的函数是
$string = trim(html_entity_decode($string));
$string = strip_tags($string);
$string = trim(preg_replace('/\s+/', ' ', $string));
有谁知道如何转义 ampersant 符号以免文件损坏?
$str = preg_replace( '/&/', '&', $str );
然而,在您的情况下,最好使用 htmlspecialchars:
添加此行
$str = htmlspecialchars( $str );
我正在构建一个必须填写 docx 文档的 Web 应用程序。我正在使用由 PHPWord 提供的 TemplateProcessor,它采用在文档上呈现的特定钩子并将其替换为给定的字符串。我遇到的问题是当字符串中出现“&”时 - 文档因缺少“;”而损坏。
我用来清理字符串的函数是
$string = trim(html_entity_decode($string));
$string = strip_tags($string);
$string = trim(preg_replace('/\s+/', ' ', $string));
有谁知道如何转义 ampersant 符号以免文件损坏?
$str = preg_replace( '/&/', '&', $str );
然而,在您的情况下,最好使用 htmlspecialchars:
添加此行$str = htmlspecialchars( $str );