我已将SharePoint中的数据导入MySQL数据库,我需要从字符串中提取和格式化某些数据,同时忽略分隔符之间的数字SharePoint ID。示例名称字段,其中多个条目为字符串:
Smith, Bob;#5800;#Jones, Mark;#6067;#Brown, Alex
我希望输出看起来像这样:
Smith, Bob</br>
Jones, Mark</br>
Brown, Alex
我当前的查询有效并返回结果。当前查询:
<?php
$sql_result = mysql_query ($sql, $connection ) or die ('request "Could not execute SQL query" '.$sql);
if (mysql_num_rows($sql_result)>0) {
while ($row = mysql_fetch_assoc($sql_result)) {
?>
<tr>
<td><?php echo $row["Project Title"]; ?></td>
<td><?php echo $row["Project Description"]; ?></td>
<td><?php echo $row["Project Sponsor(s)"]; ?></td>
</tr>
<?php } ?>
包含此特定字符串的字段是Project Sponsor(s)。
如何使用#解析这些随机ID?定界符?
帮助?
答案 0 :(得分:1)
只需替换为<br />
:
echo preg_replace('/;#?[^;]+;#?/', '<br />', $row['Project Sponsor(s)']);
答案 1 :(得分:0)
$ php -r 'print_r(explode(";#", "Smith, Bob;#5800;#Jones, Mark;#6067;#Brown, Alex"));'
Array
(
[0] => Smith, Bob
[1] => 5800
[2] => Jones, Mark
[3] => 6067
[4] => Brown, Alex
)
你想要0,2和4。
答案 2 :(得分:0)
尝试preg_split():
这个正则表达式可能有用,或者可能需要更多调整:
$sponsors = preg_split("/;#[0-9]+;#/", $row["Project Sponsor(s)"]);
现在你可以遍历列表,格式化名称等....