php设置表格宽度,php-如何使用preg_replace将表格宽度更改为100%

我想将表格宽度更改为100%(如果宽度值以像素为单位).

我的意思是,如果表格宽度看起来像width =“ 500”或width =“ 500px”,那么我想用100%替换它.

我的意思是像这个width =“ 100%”.

有人可以帮我preg_replace吗?

$content = 'holds all my html content';

$replace = '100%';

preg_replace($pattern,$replace,$content,-1);

有人可以通过$pattern帮助我吗?

解决方法:

我建议不要使用preg_replace,并举例说明使用DOM

$dom = new DOMDocument();

$dom->loadHTML($content);

foreach ($dom->getElementsByTagName('table') as $item) {

if(strpos($item->getAttribute('width'), '%') === false) {

$item->setAttribute('width', '100%');

}

}

$content = $dom->saveHTML();

如果要替换所有表的宽度为100%,请删除if子句.当前,它会检查以确保宽度不是基于百分比的.

编辑

万一您不想使用格式正确的HTML,可以通过更改以下内容来获取没有body标签的body内容:

$content = $dom->saveHTML();

至:

$content = substr($dom->saveXml($body->item(0)), 6, -7);

所以如果你有

$content = '

';

您最终将得到:

标签:preg-replace,php,regex

来源: https://codeday.me/bug/20191031/1972608.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值