【问题标题】:Take value out of string, store in PHP variable?从字符串中取出值,存储在 PHP 变量中?
【发布时间】:2012-08-10 10:49:01
【问题描述】:

我正在制作一种从 wordpress 调整图像大小的方法。

我需要从字符串中删除一个值,例如:

<img src="/path/img.jpg" width="600" height="400" />

我需要删除 600 和 400 值并将其放入我的函数中,如下所示:

resiseImg($width, $height);

然后我将返回 widthheight 并执行str_replace。但是我不确定如何将它们从字符串中取出,我想一个丑陋的方法可能是对字符串执行某种形式的二进制搜索算法,除非没有其他方法,否则我真的不想这样做选项。

【问题讨论】:

  • DOMDocument 和/或 SimpleXML 是你的朋友。
  • 图片属性中不要放px,只要放INTEGER &lt;img src="x" width"600" height="400"/&gt;..
  • @PeeHaa 我看了一下,我没有看到任何有用的从元素中提取属性的东西?
  • 您阅读的不仅仅是页面标题吗?

标签: php html variables search


【解决方案1】:

你应该避免在这个任务中使用正则表达式,因为你更关心的是从 HTML 中获取有意义的“东西”,一个属性,即你正在解析不匹配。对于这个 DOMDocument 应该是理想的选择。

$fragment = new DOMDocument();
$fragment->loadHTML(  YOUR_HTML );
$image = $fragment->getElementsByTagName("iframe")->item(0);
print $image->getAttribute('width');
print $image->getAttribute('height');

必填:The cannot hold before its too late

【讨论】:

    【解决方案2】:
    php > $a = '<img src="blahh" width="600px" height="400px" />';
    php > print preg_match_all('/[0-9]+/',$a,$res);
    2
    php > print_r($res);
    Array
    (
        [0] => Array
            (
                [0] => 600
                [1] => 400
            )
    )
    

    【讨论】:

    • 最适合文件名中的数字。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    相关资源
    最近更新 更多