您还没有指定段落的数据源在哪里,所以这是使用预定义数组(例如)实现此目的的一种方法:
<?php
// Data Source
$paragraphs = array(
'<p>ареги: сейчас на Десятую, Международную, Конференцию, по</p>',
'<p>которая состоится: 10-12 марта 1997 года в Майнце в Германии</p>',
'<p>Конференция соберет: широкий круг экспертов по вопросам глобального</p>',
'<p>Интернета: и Unicode, локализации и интернационализации, воплощению</p>',
'<p>жениях: шрифтах, верстке и многоязычных компьютерных системах</p>'
);
// Search Function
function search($term, $paragraphs = array()) {
foreach ($paragraphs as $paragraph) {
if (preg_match('/'. $term .'/', $paragraph)) {
return $paragraph;
}
}
return '';
}
// Usage
echo search('ареги', $paragraphs);
?>
编辑 v2 :
如果数据源是单行 html 段落,则这是上述的替代版本:
<?php
// Data Source
$paragraphs = '<p>ареги: сейчас на Десятую, Международную, Конференцию, по</p>
<p>которая состоится: 10-12 марта 1997 года в Майнце в Германии</p>
<p>Конференция соберет: широкий круг экспертов по вопросам глобального</p>
<p>Интернета: и Unicode, локализации и интернационализации, воплощению</p>
<p>жениях: шрифтах, верстке и многоязычных компьютерных системах</p>';
// Search Function
function search($term, $paragraphs) {
$paragraphs = preg_replace('!\s+!', ' ', $paragraphs);
$paragraphs = explode('</p> <p>', $paragraphs);
array_walk_recursive($paragraphs, function(&$para) {
$para = trim($para);
$para = str_replace(array('<p>', '</p>'), '', $para);
});
foreach ($paragraphs as $paragraph) {
if (preg_match('/'. $term .'/', $paragraph)) {
return $paragraph;
}
}
return '';
}
// Usage
echo search('ареги', $paragraphs);
?>