Julia
Julia

Reputation: 41

How to split text by tags using PHP?

I like to split a huge text by <li></li> tags after a specified amount of characters.

For Ex.

"biger text1 123 text biger 678 biger text"

to become

"<li>biger text1 123 text</li><li>biger 678 biger</li><li> text</li>".

Is it possible?

Upvotes: 4

Views: 330

Answers (2)

Ja͢ck
Ja͢ck

Reputation: 173552

In a one-liner, because everyone loves one-liners :)

$s = "biger text1 123 text biger 678 biger text";
$max_line_length = 10;

echo join("\n", array_map(function($item) {
  return '<li>' . $item . '</li>';
}, explode("\0", wordwrap($s, $max_line_length, "\0"))));

Returns:

<li>biger</li>
<li>text1 123</li>
<li>text biger</li>
<li>678 biger</li>
<li>text</li>

Upvotes: 3

Query Master
Query Master

Reputation: 7097

Try this

<?php
$text = "biger text1 123 text biger 678 biger text";
$newtext = wordwrap($text, 10, "<li>");

echo $newtext;
?>

Upvotes: 1

Related Questions