相关疑难解决方法(0)

替换HTML图像的标题

我试图找出如何title="Title is here"在PHP中替换图像的标题部分(),但我不能让它工作,所以有人可以帮忙吗?

标题可以是字面上的任何东西,所以我需要找到title"{anything here}"并替换它(如下所示).

我正在向我们努力preg_replace(),但如果有更好的方法,我愿意接受建议.

我尝试了几种不同的变化,但我认为这并不是太远了 -

$pattern = '#^title="([a-zA-Z0-9])"$#';
$replacement = 'title="Visit the '.$service['title'].' page';
$service_image = preg_replace($pattern, $replacement, $service_image);
Run Code Online (Sandbox Code Playgroud)

php regex image title

2
推荐指数
1
解决办法
755
查看次数

在PHP中使用特殊字符剪切字符串

我正在搜索一个函数来剪切以下字符串并获取所有内容BEFORE和AFTER

I need this part<!-- more -->and also this part
Run Code Online (Sandbox Code Playgroud)

结果应该是

$result[0] = "I need this part"
$result[1] = "and also this part"
Run Code Online (Sandbox Code Playgroud)

感谢任何帮助!

php string

2
推荐指数
1
解决办法
8478
查看次数

从php中使用preg_match_all的html表中获取数据

我有一个像这样的html表:

<table ... >

  <tbody ... >

       <tr ... > 
             <td ...>
                  string...
              </td>
                <td ...>
                  string...
              </td>
                <td ...>
                  string...
              </td>
                <td ...>
                  string...
              </td>
                <td ...>
                  string...
              </td>
       </tr>
        <tr ... > 
             <td ...>
                  string...
              </td>
                <td ...>
                  string...
              </td>
                <td ...>
                  string...
              </td>
                <td ...>
             </td>
                <td ...>
                  string...
              </td>
       </tr>
       ..............

  </tbody>


</table>
Run Code Online (Sandbox Code Playgroud)

这是一个数据表,我需要从中获取所有数据.该表将有许多行(<tr></tr>).每一行都有一个固定的列(<td></td>)(目前是5).记住每个表,tr,td标签可能格式化(在哪里说"......")

我希望每个人都可以帮我编写preg_match_all函数的正则表达式来获取这样的数据:

array(
   0 => array(
       0=> 'some data0',
       1=> 'some data1',
       2=> 'some data2',
       3=> 'some …
Run Code Online (Sandbox Code Playgroud)

php html-table html-parsing preg-match

1
推荐指数
2
解决办法
2万
查看次数

Str_replace与正则表达式

说我有以下链接:

<li class="hook">
      <a href="i_have_underscores">I_have_underscores</a>
</li>
Run Code Online (Sandbox Code Playgroud)

我怎么样,删除文本中的下划线而不是href?我使用了str_replace,但这删除了所有下划线,这并不理想.

所以基本上我会留下这个输出:

<li class="hook">
      <a href="i_have_underscores">I have underscores</a>
</li>
Run Code Online (Sandbox Code Playgroud)

任何帮助,非常感谢

php regex str-replace

1
推荐指数
1
解决办法
799
查看次数

使用PHP和RegEx从站点的源代码中获取所有选项值

我正在学习RegEx和网站抓取,并提出以下问题,如果得到解答,应该大大加快我的学习过程.

我以htmlencoded格式从网站上获取了表单元素.也就是说,我有$ content字符串,所有标签都完好无损,如下所示:

$content = "<form name="sth" action="">
<select name="city">
<option value="one">One town</option>
<option value="two">Another town</option>
<option value="three">Yet Another town</option>
...
</select>
</form>
Run Code Online (Sandbox Code Playgroud)

我想以这种方式获取网站上的所有选项:

array("One Town" => "one", "Another Town" => "two", "Yet Another Town" => "three" ...);
Run Code Online (Sandbox Code Playgroud)

现在,我知道这可以很容易地通过操纵字符串,切片切割它,搜索每个字符串中的子串,等等,直到我拥有我需要的一切.但我确信必须有一种更简单的方法来使用正则表达式,它应该立即从给定的字符串中获取所有结果.任何人都可以帮我找到一个快捷方式吗?我搜索过网络上最好的正则表达式网站,但无济于事.

非常感谢

php regex mysql web-crawler

1
推荐指数
1
解决办法
1392
查看次数

php - 带有结束针的strstr

可能重复:
如何使用PHP解析和处理HTML?
PHP - 通过搜索字符获取字符串的一部分,而不是计算它们?

我有一个字符串:

$str = "hello world, this is mars"
Run Code Online (Sandbox Code Playgroud)

我想要一个改进的strstr,看起来像这样:

istrstr($str, 'world', 'is')
Run Code Online (Sandbox Code Playgroud)

并且返回值将是:

"world, this"
Run Code Online (Sandbox Code Playgroud)

换句话说,有一根针开始,一根针结束.

我只是想知道是否已经有解决方案,或者我应该自己写一个...

更新:

基于答案,我做了这个功能:

function istrstr($haystack, $needle_start, $needle_end, $include = false) {

    if (!$include) {
        $pos_start = strpos($haystack, $needle_start) + strlen($needle_start);
        $pos_end = strpos($haystack, $needle_end, $pos_start);
        return substr($haystack, $pos_start, $pos_end - $pos_start);
    }

}
Run Code Online (Sandbox Code Playgroud)

现在我只需要排除版本,所以我没有打扰包括一个......

php

1
推荐指数
1
解决办法
1295
查看次数

Php字符串处理

我需要<p>在字符串中找到标签.然后我想存储来自(包括)的字符串

标记到另一个变量.

例如,我有字符串名称firstString;

firstString = "<div id='tab-1'><p>This is first string</p></div>"

我想要第二个字符串

secondString = "<p>This is first string</p>"

我只需要第一个<p>标签.

php

1
推荐指数
1
解决办法
277
查看次数

PHP中的preg/regex

我正在使用正则表达式.从来没有完全理解它真正的问题是:是否有人有一个很好的网站,解释表达之间的差异,而不只是发布像

$regexp = "/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/";
Run Code Online (Sandbox Code Playgroud)

然后讨论整个线路的作用.而不是每个表达式将做什么.我已经尝试使用Google搜索许多不同版本的preg_replace和regex教程,但他们似乎都认为我们已经知道像\ b [^>]*会做什么.

二级.我试图这样做的原因:我想转

<span style="color: #000000">*ANY NUMBER*</span>
Run Code Online (Sandbox Code Playgroud)

<span style="color: #0000ff">*ANY NUMBER*</span>
Run Code Online (Sandbox Code Playgroud)

一些变种,我已经尝试过一些只是没有工作一些使脚本废话.

$data = preg_replace("/<span style=\"color: #000000\">([0-9])</span>/", "<span style=\"color: #FFCC00\">$1</span>", $data);//just tried to match atleast 0-9

$data = preg_replace("/<span style=\"color: #000000\"\b[^>]*>(.*?)</span>/", "<span style=\"color: #FFCC00\">$1</span>", $data);

$data = preg_replace("/<span style=\"color: #000000\"\b[^>]*>([0-9])</span>/", "<span style=\"color: #FFCC00\">$1</span>", $data);
Run Code Online (Sandbox Code Playgroud)

这个具体问题的答案对我来说并不像一个网站那么重要,所以检查就是这样.尝试了很多不同的网站,我很确定它不高于我的理解我只是找不到一个好的所有坏教程/示例农场.W3和phpdotnet的正常回退不具备我这次需要的东西.

EDIT1对于那些最终在这里寻找类似答案的人:

$data = preg_replace("/<span style=\"color: #000000\">([0-9]{1,})<\/span>/", "<span style=\"color: #FFCC00\">$1</span>", $data);
Run Code Online (Sandbox Code Playgroud)

做了它需要的东西.可悲的是,这是我尝试的第一件事之一,但因为我没有放</ span>而不是它不起作用,我不知道"[0-9] {1,}"是否是最合适的匹配方式number(告诉它匹配任何整数0-9与[0-9]至少一次,尽可能多次与{1,},它仍然适合目的)

ROY Finley发布时间:http: //www.macronimous.com/resources/writing_regular_expression_with_php.asp 它是一个很好的网站,有一个表达式定义列表和一个很好的示例后续工作.

另外:regular-expressions.info/tutorial.html发布了几次.它是一个更慢,更深入的步行,但如果你被卡住,我就是它的好.

在我有机会玩它们之后,会弹出regex101和解析器.

EDIT2 DWright在"掌握正则表达式"下面发布了一个书籍链接.如果你看一下正则表达式并且无法对字符的卷积做出正面或反面,那么它绝对值得一试.花了大约一个半小时来阅读大约一半,但这与谷歌花费的时间相比没有时间,并且用来避免它的乱七八糟的工作.

下面链接的html解析也适用于这个特定问题.

php regex preg-replace html-parsing

1
推荐指数
1
解决办法
485
查看次数

使用正则表达式在 PHP 中提取 HTML 属性

我想用 PHP 从字符串中获取 HTML 属性但失败:

$string = '<ul id="value" name="Bob" custom-tag="customData">';
preg_filter("/(\w[-\w]*)=\"(.*?)\"/", '$1', $string ); // returns "<ul id name custom-tag"
preg_filter("/(\w[-\w]*)=\"(.*?)\"/", '$1', $string ); // returns "<ul value Bob customData"
Run Code Online (Sandbox Code Playgroud)

我想返回的是:

array(
  'id' => 'value',
  'name' => 'Bob',
  'custom-tag' => 'customData'
);
Run Code Online (Sandbox Code Playgroud)

html php regex

1
推荐指数
2
解决办法
2434
查看次数

正则表达式:从 html 文件中删除所有注释,但保留相同数量的行

如果文件中的注释覆盖了其中的 6 行,则应删除该注释并替换为与注释行数相等的空行。

这是我的意思的一个小示范。给定的 file.html 有 10 行:

    line 1 : <!-- text
    line 2 :      text
    line 3 :      text
    line 4 :      empty line
    line 5 :      text
    line 6 : -->
    line 7 :empty line
    line 8 :text
    line 9 :empty line
    line 10 :text
Run Code Online (Sandbox Code Playgroud)

预期的输出将是:

    line 1 :empty line
    line 2 :empty line
    line 3 :empty line
    line 4 :empty line
    line 5 :empty line
    line 6 :empty line
    line 7 :empty line
    line 8 :text …
Run Code Online (Sandbox Code Playgroud)

php regex preg-replace laravel

1
推荐指数
1
解决办法
82
查看次数