在PHP中使用X个字符数量(外部HTML)后,从Array插入字符串

时间:2015-11-11 20:49:54

标签: php arrays string character

我看过,无法找到我们想写的这个功能的解决方案。我是PHP的新手,所以我们非常感谢任何帮助,建议和代码示例。

让我解释一下我们想做什么......

我们在字符串中有一个HTML块 - 内容最多可达200​​0个单词,其中样式包括此HTML内容字符串中包含的<p><ul><h2>。< / p>

我们还在一个单独的字符串中有一个与此内容相关的图像数组。

我们需要将数组字符串中的图像添加到相同空格的HTML内容中,而不会破坏HTML代码。因此,简单的字符数不会起作用,因为它可能会破坏HTML标记。

我们需要同等地分隔图像。所以,例如;如果HTML内容字符串中有2000个单词,数组中有10个图像,我们需要每200个单词放置一个图像。

为了实现这一目标而提供的任何帮助或编码样本都非常感谢 - 感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用

$numword =  str_word_count($str, 0); 

获取行数

$array = str_word_count($str,1);

用于获取$ array包含所有单词的数组(一个用于索引),然后在此数组上迭代以重建文本,您需要为图像添加每个时间(单词)代码

  

此示例是php手册

<?php

  $str = "Hello fri3nd, you're
       looking          good today!";

  print_r(str_word_count($str, 1));
  print_r(str_word_count($str, 2));
  print_r(str_word_count($str, 1, 'àáãç3'));

  echo str_word_count($str);

?>

这是相关结果

Array
    (
        [0] => Hello
        [1] => fri
        [2] => nd
        [3] => you're
        [4] => looking
        [5] => good
        [6] => today
    )

    Array
    (
        [0] => Hello
        [6] => fri
        [10] => nd
        [14] => you're
        [29] => looking
        [46] => good
        [51] => today
    )

    Array
    (
        [0] => Hello
        [1] => fri3nd
        [2] => you're
        [3] => looking
        [4] => good
        [5] => today
    )

    7

您可以在this doc

中找到它

对于插入,您可以尝试这种方式

$num = 200;  // number of word after which  inert the image
$text = $array[0]; // initialize the text with the first word in array

for ($cnt =1; $cnt< count( $array); $cnt++){
   $text .= $array[$cnt];  // adding the word to the text 
   if (($cnt % $num) == 0) {   // if  array index multiple fo 200 insert the image
    $text .= "<img src='your_img_path' >";
   }
}