【发布时间】:2013-12-04 23:42:59
【问题描述】:
我正在向我们的产品页面添加架构(描述),所有这些都是动态生成的,因此我希望添加一个良好的通用正则表达式来正确格式化所述描述。
这就是我目前正在使用的内容(为了便于阅读,间距有点奇怪):
<meta itemprop="description" content="
<?php
$original_desc = $_product->getShortDescription();
$schema_desc = preg_replace('Rocking REGEX theoretically goes here','$1 $2', $original_desc);
strip_tags($schema_desc);
echo $schema_desc;
?>
">
问题是,我们的产品描述是从 CMS 的管理员中提取的,所以格式有点松散。
这是他们的样子:
content="<p><strong>Product Title</strong> - Other Product Name - <em>Blah Blah</em></p>
<p><strong>Product Heading 1</strong> </p>
<p><strong>Product Heading 2:</strong>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras vulputate pellentesque sem, id mattis sem blandit at.
Suspendisse tempus sodales enim nec aliquam. Vestibulum laoreet tincidunt dui, sit amet laoreet ipsum gravida at. Nulla in tempus justo,
et bibendum dolor.</p>
<p><strong>Product Heading 3:</strong> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras vulputate pellentesque
sem, id mattis sem blandit at. Suspendisse tempus sodales enim nec aliquam. Vestibulum laoreet tincidunt dui, sit amet laoreet ipsum gravida at.
Nulla in tempus justo, et bibendum dolor.</p>"
所以这就是我想要做的 - 我想保留前两个 <strong></strong> 标签之间的文本,因为那是产品类别/标题,但 <strong></strong> 标签之间的所有后续文本只是没有用处的标题在搜索描述中,所以我想将其删除。我已经找到方法说,从所有 <strong></strong> 标记之间删除所有文本,但不是第一个。
谢谢!
【问题讨论】:
标签: php html regex schema preg-replace