PHP-REGEX - 多项选择类型

标签 php css regex

我有这样一个字符串:

$str = "1. What is love? a. Haddaway b. Haxxaway c. Hassaway d. Hannaway 2. What is love? a. Haddaway b. Haxxaway c. Hassaway d. Hannaway"

我想要做的是得到这样的输出并将每个问题存储到 div:

1. What is love? 
a. Haddaway b. Haxxaway c. Hassaway d. Hannaway 

2. What is love? 
a. Haddaway b. Haxxaway c. Hassaway d. Hannaway 

截至目前,我为正则表达式创建了这个编造的代码(仍然是新手,抱歉!)

$str = "1. What is love? a. Haddaway b. Haxxaway c. Hassaway d. Hannaway 2. What is love? a. Haddaway b. Haxxaway c. Hassaway d. Hannaway"
$repl = preg_replace('#(\d+:.*?)(?=\d+:|$) *#', "$1", $str);
echo "<div>$repl</div>";

输出是这样的,它存储在一个 div 中:

1. What is love? a. Haddaway b. Haxxaway c. Hassaway d. Hannaway 2. What is love? a. Haddaway b. Haxxaway c. Hassaway d. Hannaway

我对如何区分每个问题以及如何在每个选择上放置一个 div 感到困惑...任何人都可以就我该怎么做提供一些建议吗?

最佳答案

您可以像这样使用 preg_split:

$str = "1. What is love? a. Haddaway b. Haxxaway c. Hassaway d. Hannaway 2. What is love? a. Haddaway b. Haxxaway c. Hassaway d. Hannaway";

print_r(preg_split('/(?=[a\d]+\.)/', $str, -1, PREG_SPLIT_NO_EMPTY));
Array
(
    [0] => 1. What is love?
    [1] => a. Haddaway b. Haxxaway c. Hassaway d. Hannaway
    [2] => 2. What is love?
    [3] => a. Haddaway b. Haxxaway c. Hassaway d. Hannaway
)

(?=[a\d]+\.) 是一个前瞻,当其后跟数字或字母 a 加上一个点时拆分。

关于PHP-REGEX - 多项选择类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28197066/

相关文章:

javascript - 有时图像无法加载并出现 404 错误 - 如何使用 jQuery 解决此问题?

PDO 准备语句的 PHP 错误检查

html - 意外的导航栏在悬停时移动

css - Bootstrap 最大宽度超过 950px

regex - 查找任何不以点结尾的摘要

javascript - url 的正则表达式一些问题

c# - 我怎样才能在 c# .net 中大写单词

php - 从 mysql 回显 PHP 代码

php - 使用 PHP 将两个或多个 base64 代码合并到一个 PDF 中

HTML/CSS - 停止 href 影响按钮