如何使用'PREG'或'HTACCESS'删除URI中的多个斜杠
site.com/edition/new/// - > site.com/edition/new/
site.com/edition///new/ - > site.com/edition/new/
谢谢
我希望结果是:
Cats, Felines & Cougars
Dogs
Snakes
Run Code Online (Sandbox Code Playgroud)
这是我能得到的最接近的。
$string = "Cats, Felines & Cougars,Dogs,Snakes";
$result = split(',[^ ]', $string);
print_r($result);
Run Code Online (Sandbox Code Playgroud)
这导致
Array
(
[0] => Cats, Felines & Cougars
[1] => ogs
[2] => nakes
)
Run Code Online (Sandbox Code Playgroud) 我有一个10年前编写的PHP脚本.现在我们将脚本移动到新服务器并且它无法正常工作.有问题的行是:
$p_industry = split(',', $member['p_industry']);
Run Code Online (Sandbox Code Playgroud)
测试电子邮件收到此错误消息:
函数split()已弃用.
我研究了这个网站,然后我用脚本替换了脚本
$p_industry = preg_split(',', $member['p_industry']);
Run Code Online (Sandbox Code Playgroud)
然后测试电子邮件收到以下不同的错误消息:
preg_split():找不到结束分隔符','
当我将脚本更改为
$p_industry = explode(',', $member['p_industry']);
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误消息的电子邮件.但剧本似乎也无效.它似乎没有工作,甚至没有发送错误消息测试电子邮件.
我该怎么改变剧本?你能给我具体的答案吗?
Preg_match给出一个匹配.Preg_match_all返回所有匹配项.Preg_split返回所有拆分.
我怎么才能分开第一场比赛?
例:
使preg_split( "〜\ N〜",$字符串);
这就是我要的:
array(0 =>'first piece',1 =>'其余的字符串,没有任何进一步的拆分')
我正在处理一小段处理歌曲标签的代码,但我遇到了问题.
我需要解析每个歌曲标签行并将其拆分以一方面获得大量的和弦,另一方面提供单词.
每个块都会像:
$line_chunk = array(
0 => //part of line containing one or several chords
1 => //part of line containing words
);
Run Code Online (Sandbox Code Playgroud)
他们应该保持"分组".我的意思是,只有当函数达到和弦和单词之间的"限制"时它才会分裂.
我想我应该使用preg_split来实现这一点.我做了一些测试,但我只能分享和弦,而不是和弦的"组":
$line_chunks = preg_split('/(\[[^]]*\])/', $line, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
Run Code Online (Sandbox Code Playgroud)
这些例子向您展示了我想要的内容:
在不含和弦的行上:
$input = '{intro}';
$results = array(
array(
0 => null,
1 => '{intro}
)
);
Run Code Online (Sandbox Code Playgroud)
在仅包含和弦的行上:
$input = '[C#] [Fm] [C#] [Fm] [C#] [Fm]';
$results = array(
array(
0 => '[C#] [Fm] [C#] [Fm] [C#] [Fm]',
1 => …Run Code Online (Sandbox Code Playgroud) 像这样的示例文档:
"国际象棋帮助我们克服困难和痛苦,"Unnikrishnan说,带走了我的女王."在棋盘上,你正在战斗.因为我们也在为日常生活中的艰辛而战."他说.
我想获得这样的输出:
Array
(
[0] =>"Chess helps us overcome difficulties and sufferings," said Unnikrishnan, taking my queen.
[1] =>"On a chess board you are fighting. as we are also fighting the hardships in our daily life," he said.
)
Run Code Online (Sandbox Code Playgroud)
我的代码仍然被点破坏.
function sample($string)
{
$data=array();
$break=explode(".", $string);
array_push($data, $break);
print_r($data);
}
Run Code Online (Sandbox Code Playgroud)
关于双引号和点分割两个分隔符,我仍然很困惑.因为在双引号内有一个包含点分隔符的句子.
我从php拆分到preg_split之后从php 5.3兼容性中得到了这个警告:
PHP Warning: preg_split(): Delimiter must not be alphanumeric or backslash
Run Code Online (Sandbox Code Playgroud)
php代码是:
$statements = preg_split("\\s*;\\s*", $content);
Run Code Online (Sandbox Code Playgroud)
如何修复正则表达式不再使用 \
谢谢!
我想每五个单词后分割一个字符串。
例子
这里有一些东西要输入。这是示例文本
输出
There is something to type
here. This is an example
text
Run Code Online (Sandbox Code Playgroud)
如何使用 来完成此操作preg_split()?或者有什么方法可以在 PHP GD 中进行文本换行吗?
我有一个混有HTML的php页面.一些示例代码:
<?php echo "<p>some text</p>"; ?>/* <? some php in comments ?> */
<p>some HTML text</p> <!-- <h1>some HTML in comments</h1> -->
<? $header_info = <<<END
\$some="<?php @ob_start(); @session_set_save_handler(); ?>";
END; ?>
<h2>Some more HTML</h2>
Run Code Online (Sandbox Code Playgroud)
我想在每个PHP和HTML标记处拆分,但保留/忽略引号或注释中的任何PHP标记或HTML标记.这是我到目前为止:
$array = preg_split("/((^<\?php)|([^'|\"]<\?php)|([^'|\"]<\?)|([^'|\"]\?>)|(<\%)|(\%>))/i", $string, -1);
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是最终的$数组中缺少一些HTML结束括号'>'.我想保持HTML打开和关闭标签完好无损.有时我最终会
<p></p instead of <p></p>
Run Code Online (Sandbox Code Playgroud)
它应该如下所示:
[0] echo "<p>some text</p>";
[1] <p>some HTML text</p>
[2] $header_info = <<<END
\$some="<?php @ob_start(); @session_set_save_handler(); ?>";
END;
[3] <h2>Some more HTML</h2>
Run Code Online (Sandbox Code Playgroud)
只要preg_split没有将它们视为任何分隔符并忽略它们中的任何一个,任何注释都不需要成为数组的一部分.
我也刚刚意识到一些php标签,特别是在使用eval()时最终会像这样结束:
"?> <p>some HTML text</p> <?";
Run Code Online (Sandbox Code Playgroud)
这意味着我的正则表达式中的引用与任何这些情况都不匹配.
Preg_match()可能是一个更好的选择,但不确定.
任何帮助都会非常感激,因为我在正则表达方面并不是非常聪明,而是在这一点上陷入困境.
非常感谢 :)
我分裂了这个:
1 2 3 4/5/6 "7/8 9" 10
Run Code Online (Sandbox Code Playgroud)
进入这个:
1
2
3
4
5
6
"7/8 9"
10
Run Code Online (Sandbox Code Playgroud)
与preg_split()
所以我的问题是,如何基于分隔符进行拆分,不包括一对引号内的分隔符?
我有点想避免先用引号来捕捉东西,最好是把它当成一个衬里.
php ×10
preg-split ×10
regex ×5
preg-match ×2
split ×2
.htaccess ×1
arrays ×1
delimiter ×1
parsing ×1
preg-replace ×1
unicode ×1