冒着不明确标题的风险,因为我无法用几句话更好地解释它,我将准确描述我想要实现的目标。
假设我有一篇名为“Ilha de Faro”的文章,并且在其描述中我想用相应的链接替换所有出现的相关文章名称(来自db)。
到目前为止没什么特别的。但如果相关文章是“法鲁”,“普拉亚”等,而文章描述中包含名称,我不希望其词语被替换,以便“Ilha de Faro”不会转向“Ilha” de Faro“。
我想在替换关系发生之前用一些特殊字符串(比如#$%&或其他)替换所有出现的名称,然后将特殊字符串替换为文章名称。但是,如果有更直接,更清晰的方法,或者我的小解决方法是一种很好的方法,我想知道什么呢?
提前感谢所有答案
修改
我会更加实际地看待这个。我还没有尝试任何东西,因为我不在那个阶段,我只是在思考。 所以,我有一个文章表,一篇文章可以有n篇相关文章。 有以下文章:
标题:Ilha de Faro
描述:Chamam-lhe Ilha de Faro mas narealidadeéumaalínsula,ligadaàterrafirme do lado leste,perto da elegante Quinta do Lago。做lado oposto,par leste,fica a barra,por onde passanavegaçãocoemerciale de recreio。 Embora a zona fronteira a Faro esteja ocupada poralgumaconstrução,o arealpareceinterminávele propicia belos instantes de repousoefruiçãodanatureza。 De carro a partir dacidadesãodezminutos de viagem,nadirecçãodoaeroporto,hasndo que contar com engarrafmentos e dificuldades de estacionamentonoVerão。 Carreiras de barco partir do cais de Faro(dondetambémpartemcruzeirosturísticosdiáriospeloscanais,lagunas e ilhas da Ria Formosa)podem ser uma boa alternativa。
相关文章:Faro,Ria Formosa
我想要的是提供文章的描述以及文本中存在的相关文章的链接,所以它会是这样的:
Chamam-lhe Ilha de Faro mas narealidadeéumaalínsula,ligadaàterrafirme do lado leste,perto da elegante Quinta do Lago。做lado oposto,par leste,fica a barra,por onde passanavegaçãocoemerciale de recreio。 Embora a zona fronteira a Faro esteja ocupada poralgumaconstrução,o arealpareceinterminávele propicia belos instantes de repousoefruiçãodanatureza。 De carro a partir dacidadesãodezminutos de viagem,nadirecçãodoaeroporto,hasndo que contar com engarrafmentos e dificuldades de estacionamentonoVerão。 Carreiras de barco a partir do cais de
<a>
Faro</a>
(dondetambémpartemcruzeirosturísticosdiáriospeloscanais,lagunas e ilhas da<a>
Ria Formosa</a>
)podem ser uma boa alternativa。
注意标题为粗体......它包含“Faro”,这是其中一篇相关文章的标题,但我不想拥有“Ilha de <a>
Faro {{1 }}”。
我最初的想法是为模式创建一个相关文章标题数组,另一个用替换标记标题创建,但这将取代所有内容,即使相关文章标题包含在父文章标题中。 / p>
答案 0 :(得分:0)
好吧,我尝试了我提出的解决方案并且有效。如果有人知道更清洁或“更正确”的方式,欢迎提出建议。
无论如何,对于有这个问题的人来说,我就是这样做的:
$descTemp = preg_replace('/'.$articleTitle.'/', '!-article_title-!', $description);
$descTemp2 = preg_replace($relatedArticleTitles, $relatedArticleLinks, $descTemp);
$finalDescription = preg_replace('/!-article_title-!/', $articleTitle, $descTemp2);