php: link ile bir kap içindeki metni değiştirin.

0 Cevap php

Ben basit bir soru gibi görünüyor ne bir cevap aradı, ama boşuna ettik.

Ben bazı HTML çıktı sahiptirler, örneğin:

<div id="attachment_1098" class="wp-caption alignleft" style="width: 160px">[[ a href="mydomain.com/wp-content/uploads/2010/11/photo-1.jpg" ]][[img class="size-thumbnail wp-image-1098" title="John Doe" src="mydomain.com/wp-content/uploads/2010/11/photo-1.jpg" alt="John Doe" width="150" height="200" /]][[ /a ]]<p class="wp-caption-text">John Doe</p></div>
<div id="attachment_1080" class="wp-caption alignleft" style="width: 160px">[[ a href="mydomain.com/wp-content/uploads/2010/11/photo-2.jpg" ]][[img class="size-thumbnail wp-image-1080" title="Fred Bloggs" src="mydomain.com/wp-content/uploads/2010/11/photo-1.jpg" alt="Fred Bloggs" width="150" height="200" /]][[ /a ]]<p class="wp-caption-text">Fred Bloggs</p></div>
<div id="attachment_1099" class="wp-caption alignleft" style="width: 160px">[[ a href="mydomain.com/wp-content/uploads/2010/11/photo-3.jpg" ]][[img class="size-thumbnail wp-image-1099" title="Jane Doe" src="mydomain.com/wp-content/uploads/2010/11/photo-3.jpg" alt="Jane Doe" width="150" height="200" /]][[ /a ]]<p class="wp-caption-text">Jane Doe</p></div>
<div id="attachment_1096" class="wp-caption alignleft" style="width: 160px">[[ a href="mydomain.com/wp-content/uploads/2010/11/photo-4.jpg" ]][[img class="size-thumbnail wp-image-1096" title="Joe Public" src="mydomain.com/wp-content/uploads/2010/11/photo-4.jpg" alt="Joe Public" width="150" height="200" /]][[ /a ]]<p class="wp-caption-text">Joe Public</p></div>

(The above html is actually well formed, had to replace < & > in anchours and images with [[ and ]] respectively so it would post.)

Ben "wp-caption-metin" bir sınıf ile her (p) metin içerik etrafında bir bağlantı sarmak istiyorum, url biçimi aşağıdaki gibi olmalıdır:

'/my-page-root/'.strtolower(str_replace(' ','-',$linkText)).'';

(Böylece John Doe bağlantı olur: /my-page-root/john-doe, vb)

Şimdi, bugüne kadar preg_replace ile var, ama ben geribaşvuru gelen bağlantı URL oluşturmak için nasıl anlamaya olamaz. Bu bana bunu yapmak için daha kolay bir yolu olmalı düşünüyorum yapar (ve muhtemelen daha hızlı bir yolu var mı?)

Her neyse, burada kalkıp kod:

<?php $contentLinked = preg_replace("/(<p class=\"wp-caption-text\">.*<\/p>)/Us", "<p class=\"wp-caption-text\"><a href=\"\">$1</a></p>",$content); ?>

Ben bağlantı url oluşturmak için geribaşvuru nasıl kullanılacağı ile sıkışmış değilim, sadece iyi bir boş anchour ile metni değiştirir.

A few Notes:

Bağlantı sadece (sadece daha sonra metnin bir kısmını sarmak için gerekebilir, ama ben ona gelip ben o köprüden edeceğiz) metni sarmak gerekir

Wordpress bir gün bir başkası gelip formatını (dolayısıyla sert kodlama) enkaza olabilir, bağlantıları sıyırma önlemek için bir çözüm olmadan WYSIWYG ile bu izin vermez bu yüzden hiçbir yararlı wp geçici çözümler vardır.

Görüntü üzerinde bağlantı öylesine bir seçenek bağlantı tüm görüntü ve / veya div değil sarma, tam boyutlu görüntüye (jquery galeri oluyor) için kalmalıdır

Herhangi bir yardım için alkış bana verebilir.

Andy

0 Cevap