【问题标题】:remove html code after a certain character php [closed]在某个字符 php 之后删除 html 代码 [关闭]
【发布时间】:2016-08-18 18:04:37
【问题描述】:

问题:我已将完整的 html 代码插入 mysql 数据库。我想删除Product Description 之后的所有内容。我该怎么做?

<p>hjfsdgfsgdfjsdgfjgdsjfgsdjgfjsdgf </p>
<p>Product Description</p>

我想用html格式再次存入数据库。

【问题讨论】:

  • hjfsdgfsgdfjsdgfjgdsjfgsdjgfjsdgf

    产品说明
  • 我只想要

    hjfsdgfsgdfjsdgfjgdsjfgsdjgfjsdgf

    。休息一切都应该被删除。

    hjfsdgfsgdfjsdgfjgdsjfgsdjgfjsdgf

    只是一个例子。而不是那些文本,我有另外一堆 html 代码。
  • 开始于:
    一切都应该被删除。我试过这个: $description = preg_replace("/
    .*$/", '', $descrow[1] );但没有运气
  • 你为什么尝试&lt;div class='ui-box product-description-main' id='j-product-description'&gt;.*?您的代码中没有div .. 还是有?

标签: php html regex substr


【解决方案1】:

回答您原始问题的 cmets 中提出的问题,您可以执行以下操作:

preg_replace("/<div class=\"ui-box product-description-main\".*/sm", " ",$your_html_goes_here);

这将删除 div 元素之后的所有内容,类为“ui-box”和“product-description-main”。

同样,回答你原来的问题也很简单:

preg_replace("/(<p>Product Description<\/p>).*/sm", "$1", $your_html_goes_here);

这会删除“产品说明”段落之后的所有内容。 如果您需要有关我的回答中提出的正则表达式的更多信息,请告诉我。

【讨论】:

  • 让我检查一下。会在几分钟内通知您
  • 它工作得非常好。谢谢@G。玛格丽特
  • 我有一些与正则表达式相关的问题。我怎么联系你?
  • @Vky 当然。告诉我你的问题
  • @Vky 在我的电子邮件中与我联系:margaeor@gmail.com
【解决方案2】:

你想要这个吗?
http://php.net/manual/en/function.strip-tags.php

$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";

// Allow <p> and <a>
echo strip_tags($text, '<p><a>');

【讨论】:

【解决方案3】:

这是一种方法:

$lookup = "Product Description";
$fullText = "..."; //full html code goes here
$pos = strpos($fullText, $lookup);

echo substr($fullText, 0, $pos);

这将打印您的字符串内容,直到“产品描述”位置。如果您还想摆脱可能的 html 标签,只需按照其他答案中的建议使用strip_tags

【讨论】:

  • 如何结合两个答案?我对 strip_tags 没有任何线索
  • 删除html标签和文本,并再次以相同的格式将它们存储到数据库中。
  • @Vky 在$pos = strpos ... 行之前执行$fullText = strip_tags($fullText);
猜你喜欢
相关资源
最近更新 更多
热门标签