我已经在mysql表中存储了一些字符串,这种形式(在单列中) -
<div id='ques'>Question 1 is written here</div>
<div id='opt1'>Text of option 1</div>
<div id='opt2'>Text of option 2</div>
<div id='opt3'>Text of option 3</div>
<div id='opt4'>Text of option 4</div>
<div id='opt5'>Text of option 5</div>
<div id='opt6'>Text of option 6</div>
由于某些原因,我不能为这些div使用单独的列(存储),上面写的所有演示代码都在表的单列(或单元格是正确的)中。所以,div本身就是单个巨大字符串的一部分。因此字符串就像,
$question_set="<div id='ques'>Question 1 is written here</div><div id='opt1'>Text of option 1</div><div id='opt2'>Text of option 2</div><div id='opt3'>Text of option 3</div><div id='opt4'>Text of option 4</div><div id='opt5'>Text of option 5</div><div id='opt6'>Text of option 6</div>"
我想要的是在每个div处拆分文本,并将其innerHtml值存储在其计数器php变量中,例如,
$question="Question 1 is written here";
$option1="Text of option 1";
依旧......
修改 - 1 有些人想要,如果我做了研究,这就是我能做到最好的事情 -
list($question, $option1, $option2, $option3, $option4, $option5, $option6) = split('</div>', $question_set);
echo $question;
echo "<br>";
echo $option1;
同样, -
也取得了类似的结果list($question, $option1, $option2, $option3, $option4, $option5, $option6) = explode('</div>', $question_set);
依旧......
注意 - 我之前没有发布过很多原因,其中最重要的原因是如果你的名字/个人资料我是人类医生,甚至不是编程的学生。我之前想要偏离我的讨论,因为不仅上面提到的方法对我有用,在某种程度上给我一些其他问题,而且我的wamp服务器说“已弃用:函数split()已被弃用” 无论如何 谢谢。的问候,
答案 0 :(得分:2)
<强> Demo 强> 在jquery中使用 map 来检索数组中的值
var collect = $("div").map(function () {
return $(this).text();
}).get();
//console.log(collect[0]);
//console.log(collect[1]);
//console.log(collect[2]);.............
// **$.each()**
//$.each(collect,function(i,val){
//console.log(i+ " "+ val);
//});
将数组或对象中的所有项目转换为新的项目数组。
答案 1 :(得分:0)
我认为你可以用正则表达式做到这一点: 使用preg_replace,您可以无需重新设置两个div标签,这样您只需保留问题
找到div中的内容的正则表达式就像
^(<div id=\'[a-z0-9]+\'>)([^<>]+)(</div>)
然后你用下面的模式重新设置:$2
,它只会让事情发生错误...我没有对它进行测试但它应该可以工作
请注意,您必须为每一行应用此项。
答案 2 :(得分:0)
一个php解决方案,其中问题存储在$question
中,其他选项存储在$opts
数组中。
$question_set="<div id='ques'>Question 1 is written here</div><div id='opt1'>Text of option 1</div><div id='opt2'>Text of option 2</div><div id='opt3'>Text of option 3</div><div id='opt4'>Text of option 4</div><div id='opt5'>Text of option 5</div><div id='opt6'>Text of option 6</div>";
$q_pattern = "#<div id='ques'>([a-zA-Z0-9 _?-]{0,})<\/div>#";
$o_pattern = "#<div id='opt[0-9]{0,}'>([a-zA-Z0-9 _?-]{0,})<\/div>#";
preg_match($q_pattern, $question_set, $q_match);
preg_match_all($o_pattern, $question_set, $o_match);
$question = $q_match[1];
for ($i=0; $i < count($o_match[1]); $i++) {
$opts[] = $o_match[1][$i];
}
print_r($opts);
print_r($question);
结果:
Array
(
[0] => Text of option 1
[1] => Text of option 2
[2] => Text of option 3
[3] => Text of option 4
[4] => Text of option 5
[5] => Text of option 6
)