如何用正则表达式将HTML标签XHTML化

lovered 2004-07-20 02:22:22
顶有分 分不够另开贴 解答正确马上给分

例如:
<IMG src="path/filename.ext" width=100 height=200>

如何转换成

<img src=path/filename.ext" width="100" height="200" alt="null">


-----

<IMG src="path/filename.ext" width=100 height=200 alt="">

如何转换成

<img src=path/filename.ext" width="100" height="200" alt="null">
...全文
157 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2004-07-21
  • 打赏
  • 举报
回复
这样做
$s = <<< TEXT
<IMG src="path/filename.ext" width=100 height=200 alt="LOGO">
TEXT;

function foo($v) {
$v = preg_replace("/[\"']/","",stripslashes($v));
$p = split("=",$v);
if(count($p) == 2)
return "$p[0]=\"$p[1]\"";
return $v;
}

$s = preg_replace("/(\b[^ >]+)/e","foo('$1')",$s);
echo preg_replace("/>/","/>",$s);
?>

至于如何添加没有的属性?如何区分目标?...
就由你自己解决了

Minisheep 2004-07-21
  • 打赏
  • 举报
回复
我问过一个将HTML转换成UBB的问题
http://community.csdn.net/Expert/topic/3186/3186874.xml?temp=.3436396
里面的回答还不错,可以将各个属性都得到
如果XHTML化,只要再加上几个判断就行
zhiin1 2004-07-20
  • 打赏
  • 举报
回复
只有用兼容式正则表则式吧```````````
mistjin 2004-07-20
  • 打赏
  • 举报
回复
献丑一下

$str = <<<HTML
<IMG src="path/filename.ext" width=100 height=200 alt="LOGO">
HTML;
echo preg_replace("/<img (.+?)width=(.+?)height=(.+?) (.+?)>/isU", "<img \\1width=\"\\2\"height=\"\\3\" \\4/>", $str);

转换结果:
<img src="path/filename.ext" width="100 "height="200" alt="LOGO"/>
wfqn 2004-07-20
  • 打赏
  • 举报
回复
兄弟。<img src=path/filename.ext" width="100" height="200" alt="LOGO"/>
src少写了个引号吧?

帮你顶。
threezxw 2004-07-20
  • 打赏
  • 举报
回复
学习
帮你顶
lovered 2004-07-20
  • 打赏
  • 举报
回复
对不起写错了

例如:
<IMG src="path/filename.ext" width=100 height=200>

如何转换成

<img src=path/filename.ext" width="100" height="200" alt=""/>


-----

<IMG src="path/filename.ext" width=100 height=200 alt="LOGO">

如何转换成

<img src=path/filename.ext" width="100" height="200" alt="LOGO"/>
佛祖的木鱼 2004-07-20
  • 打赏
  • 举报
回复
我也想知道怎样实现

帮你UP

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧