我有点难以理解如何在php中创建字符串大写而不使标记大写。
例如:
<p>Chicken & <a href="/cheese">cheese</a></p>
将成为
<p>CHICKEN & <a href="/cheese">CHEESE</a></p>
任何建议表示赞赏,谢谢!
答案 0 :(得分:4)
以下内容将使用大写数据替换BODY中的所有DOMText节点数据:
$html = <<< HTML
<p>Chicken & <a href="/cheese">cheese</a></p>
HTML;
$dom = new DOMDocument;
$dom->loadHTML($html);
$xPath = new DOMXPath($dom);
foreach($xPath->query('/html/body//text()') as $text) {
$text->data = strtoupper($text->data);
}
echo $dom->saveXML($dom->documentElement);
给出:
<html><body><p>CHICKEN & <a href="/cheese">CHEESE</a></p></body></html>
另见
答案 1 :(得分:3)
答案 2 :(得分:1)
Parse it,然后随意大写。
答案 3 :(得分:-1)
我很想让整个字符串大写......
$str = strtoupper('<p>Chicken & <a href="/cheese">cheese</a></p>');
...然后使用preg_match()
调用重新遍历HTML标记(假设HTML有效)以小写HTML标记及其属性。