在Wordpress帖子中定位或删除文本和图像

时间:2015-05-29 08:43:09

标签: php html css wordpress

我有一个Wordpress网站,使用

显示帖子的内容
<?php the_content(); ?>

在内容中存在图像和文本,所有图像和文本都在&lt; p>标签

我想以不同方式设置图像和文本的边距/填充。我可以定位图像但是当我将样式应用于文本时,它们也会影响图像。

我能想到的唯一选择是使用 - 边距(但稍后会引起问题)并将所有文本放在块引号中,但这将删除该功能以供将来使用。

我可以从the_content中取出图像和/或文字并以另一种方式显示它们吗?

HTML - 目前

<div class="row">   
    <?php the_content(); ?>
</div><!-- /row --> 

3 个答案:

答案 0 :(得分:0)

您可以通过多种方式完成此操作: 我最喜欢的是以下内容: 让我们说你有一个带有css类的div(即:内容包装器) 所以它看起来像这样:

<div class="contentWrapper">
    My amazing conent <img src="amazing.jpg"/> <p>testing paragraph</p>
</div>

因此,在此示例中,您可以使用简单的css选择器对contentWrapper下的元素进行任何更改,即:。

.contentWrapper img, .contentWrapper p{
    margin-right: 5px;
}

另一种 - 但更脏的方法是使用正则表达式来替换某些标签。 这根本不是一个好习惯,所以我不知道有什么例子。

祝你好运!

答案 1 :(得分:0)

基本上有两种理智的方式:

  1. 修改现有的CSS并对其进行调整以更精确地定位元素和类。这是更容易的方法。

  2. the_content();的输出捕获到变量中,然后使用preg_replace()等修改内容。或者在PHP中使用适当的DOM解析器来执行相同的操作。这里有更多的工作。

  3. (使用Javascript在加载后修改DOM。不太优雅的方法。)

答案 2 :(得分:0)

使用<p>提取图片,移除function filter_content_images($content) { return preg_replace('/<p>\\s*?(<a .*?><img.*?><\\/a>|<img.*?>)?\\s*<\\/p>/s', '<div class="content-image">\1</div>', $content); } add_filter('the_content', 'filter_content_images'); 标签并将其替换为其他内容。

using Microsoft.Phone.Tasks;

CameraCaptureTask cameraCaptureTask;

cameraCaptureTask = new CameraCaptureTask();
cameraCaptureTask.Completed += new EventHandler<PhotoResult>(cameraCaptureTask_Completed);

cameraCaptureTask.Show();

void cameraCaptureTask_Completed(object sender, PhotoResult e)
{
    if (e.TaskResult == TaskResult.OK)
    {
    }
}

这将删除它们并替换为迷你