3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php function contentHasTags($content, array $tags) { foreach ($tags as $tag) { if (strpos($content, "<$tag") !== false) { return true; } } return false; } function calcParagraphCount($words, $wordsPerParagraph) { $wordCount = count($words); $wordsPerParagraph = floor($wordCount / $wordsPerParagraph); return max(1, $wordsPerParagraph); } $wordsPerParagraph = 100; $adCount = 3; $adCode = '... YOUR AD SNIPPET HERE'; //$content = apply_filters('the_content', trim($post->post_content)); $content = <<<EOC Deux avions de combat Rafale ont ciblé, vendredi 19 septembre au matin, des positions des djihadistes de l'Etat islamique (EI) dans le nord-est de l'Irak. « Ce matin à 9 h 40, nos avions Rafale ont mené une première frappe contre un dépôt logistique des terroristes » de l'EI, a fait savoir le président Hollande dans un communiqué. L'objectif a été « entièrement détruit », précise-t-il. « D'autres opérations se poursuivront dans les prochains jours », ajoute la présidence. La France devient ainsi le premier pays à se joindre à la campagne aérienne lancée le 8 août par les Etats-Unis contre les djihadistes. Jeudi, lors de sa conférence de presse, François Hollande avait annoncé avoir donné son accord à des « opérations de protection aérienne » en Irak. Les autorités irakiennes avaient sollicité l'appui militaire de la France dans leur lutte contre l'EI, lors de la visite du président Hollande à Bagdad, le 12 septembre. Après s'être emparé de Mossoul, la deuxième ville irakienne, le 10 juin, le groupe djihadiste a conquis la majeure partie des provinces sunnites du nord et de l'ouest de l'Irak. Le ministère de la défense a précisé que le dépôt logistique se situait dans la région de Mossoul, et qu'il avait été repéré lors de vols de reconnaissance qui ont commencé lundi en territoire irakien. Le dispositif était constitué de deux avions de chasse équipés de bombes air-sol guidées laser GBU 12, d'un avion de ravitaillement C-135 FR de l'armée de l'air et d'un avion de patrouille maritime Atlantique 2 de la marine nationale, chargé d'assurer le volet renseignement de cette mission et la première évaluation des bombardements. Lire aussi : Origine, nombre, financement… l'Etat islamique en cinq questions « NOUS N'INTERVIENDRONS QU'EN IRAK » François Hollande a annoncé jeudi que l'intervention française se limiterait à des bombardements aériens et ne concernerait pas la Syrie, où l'EI contrôle également un vaste territoire dans les provinces du Nord-Est. « Il n'y aura pas de troupes au sol et nous n'interviendrons qu'en Irak », déclarait-il lors de sa conférence de presse. Paris estime qu'aucun cadre juridique et politique ne peut légitimer une intervention en Syrie, à la différence de l'Irak, où la France agit suivant une demande officielle du gouvernement irakien. Le président américain, Barack Obama, a dit quant à lui qu'il n'hésiterait pas à élargir les frappes de l'Irak à la Syrie, lors de la présentation de sa stratégie de lutte contre l'EI, le 10 septembre. EOC; $words = explode(' ', $content); $paragraphCount = calcParagraphCount($words, $wordsPerParagraph); $paragraphs = array(); $insertTag = false; for ($i = 0; $i < $paragraphCount; $i++) { $start = $i * $wordsPerParagraph; $end = $start + $wordsPerParagraph; $paragraph = array_slice($words, $start, $end); $hasTags = contentHasTags($content, array('image', 'embed'); $paragraphs[] = '<p>' . implode(' ', $paragraph) . '</p>'; if ($insertTag) { $paragraphs[] = $adCode; $insertTag = false; } if ($i % $adCount === 0) { $insertTag = $hasTags; if (! $insertTag) { $paragraphs[] = $adCode; } } } echo implode(' ', $paragraphs);
based on IYMJB
Output for 5.1.0 - 5.1.1, 5.1.3 - 5.4.32
Parse error: syntax error, unexpected ';' in /in/fQqev on line 50
Process exited with code 255.
Output for 5.1.2
Parse error: syntax error, unexpected ';' in /in/fQqev on line 51
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_ARRAY, expecting '&' or T_VARIABLE in /in/fQqev on line 3
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_ARRAY, expecting '&' or T_VARIABLE or T_CONST in /in/fQqev on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_ARRAY, expecting '&' or T_VARIABLE or T_CONST in /in/fQqev on line 3
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `'&'' or `T_VARIABLE' or `T_CONST' in /in/fQqev on line 3
Process exited with code 255.