相关疑难解决方法(0)

除了XHTML自包含标记之外,RegEx匹配开放标记

我需要匹配所有这些开始标记:

<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)

但不是这些:

<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)

我想出了这个,并希望确保我做对了.我只抓住了a-z.

<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)

我相信它说:

  • 找一个小于,然后
  • 然后,查找(并捕获)az一次或多次
  • 然后找到零个或多个空格
  • 找到任何字符零次或多次,贪婪/,然后
  • 找到一个大于

我有这个权利吗?更重要的是,你怎么看?

html regex xhtml

1323
推荐指数
36
解决办法
270万
查看次数

如何通过多个分隔符来分解字符串并保留分隔符?

我正在尝试使用多个分隔符(?? , ? , ?? , ?)来分解字符串.

例如,我有这个输入字符串:

$string = "(2.8 , 3.1) ? (??2.4 , ?3.0)";
Run Code Online (Sandbox Code Playgroud)

我想将它转换为这样的数组(预期输出):

Array
(
    [0] => (2.8 , 3.1) ? (
    [1] => ??
    [2] => 2.4 , 
    [3] => ?
    [4] => 3.0)
)
Run Code Online (Sandbox Code Playgroud)

我最好的尝试打印我(当前输出):

Array
(
    [0] => (2.8 , 3.1) ? (
    [1] => ?
    [2] => ?2.4 , 
    [3] => ?3.0)
)
Run Code Online (Sandbox Code Playgroud)

这是我目前的代码:

<?php

    function multiexplode ($delimiters,$string) {
        return explode(
            $delimiters[0],
            strtr(
                $string,
                array_combine(
                    array_slice($delimiters,1),
                    array_fill(0,count($delimiters)-1,array_shift($delimiters))
                )
            ) …
Run Code Online (Sandbox Code Playgroud)

php regex string explode preg-split

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

使用preg_split捕获分隔符的问题

我有一个来自SQL Server的管道分隔转储文件,我想将它导入MySQL.这些行由分隔\r\n,并且该序列也出现在某些字段中!所以我想使用正则表达式来查找实际的行并从中做出INSERT声明.

但是,我在匹配字符串中包含分隔符时遇到问题.我以为使用PREG_SPLIT_DELIM_CAPTURE会做的伎俩,但显然我做错了.我的分隔符是三个空格,后跟三个数字,这实际上是行所需的id:

$ cat test.php
<?
$string = '   897|a|Hello\r\n   583|b|Line\r\nBreak\r\n   332|c|Yet\r\nMore\r\nLine\r\nBreaks\r\n';

$lines = preg_split( '/   \d{3}\|/', $string, NULL, PREG_SPLIT_DELIM_CAPTURE);
print_r($lines);

$ php test.php
Array
(
    [0] => 
    [1] => a|Hello\r\n
    [2] => b|Line\r\nBreak\r\n
    [3] => c|Yet\r\nMore\r\nLine\r\nBreaks\r\n
)
Run Code Online (Sandbox Code Playgroud)

我的分隔符丢失了.

$ php -v
PHP 5.3.3-7+squeeze1 with Suhosin-Patch (cli) (built: Mar 18 2011 17:22:52) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
Run Code Online (Sandbox Code Playgroud)

我做错了什么,或者我如何得到我想要的东西?

php preg-split

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

标签 统计

php ×2

preg-split ×2

regex ×2

explode ×1

html ×1

string ×1

xhtml ×1