(uzun dize) bir yorumlu metin her satırı Döşeme nasıl php

2 Cevap php

Ben uzun bir dizesindeki her satırı kesebileceğiniz php işlevi oluşturmak için arıyorum.

örneğin:

<?php
$txt = <<< HD
    This is text.
          This is text.
  This is text.
HD;

echo trimHereDoc($txt);

çıktı:

This is text.
This is text.
This is text.

Evet, Döşeme () işlevi biliyorum. Böyle bir yorumlu metin gibi uzun dizeleri üzerinde kullanmak için ne kadar emin değil.

2 Cevap

function trimHereDoc($txt)
{
    return preg_replace('/^\s+|\s+$/m', '', $txt);
}

^\s+ bir satırın başında boşluk maçları ve \s+$, bir satırın sonunda boşluk eşleşir. m bayrak multi-line değiştirme yapmak için diyor yani ^ ve $, bir çok satırlı dize herhangi bir satırında maç olacak.

Basit bir çözüm

<?php
$txtArray = explode("\n", $txt);
$txtArray = array_map('trim', $txtArray);
$txt = implode("\n", $txtArray);