una remove parte length eliminar ejemplos dividir caracteres caracter cadena buscar php utf-8 substr

remove - substr php



php substr() funciona con utf-8 deja marcas al final (6)

Aquí está el código simple

<?php $var = "Бензин Офиси А.С. также производит все типы жира и смазок и их побочных продуктов в его смесительных установках нефти машинного масла в Деринце, Измите, Алиага и Измире. У Компании есть 3 885 станций технического обслуживания, включая сжиженный газ (ЛПГ) станции под фирменным знаком Петрогаз, приблизительно 5 000 дилеров, двух смазочных смесительных установок, 12 терминалов, и 26 единиц поставки аэропорта."; $foo = substr($var,0,142); echo $foo; ?>

y produce algo como esto:

Бензин Офиси А.С. также производит все типы жира и смазок и их побочных продук ...

Probé mb_substr () sin suerte. ¿Cómo hacer esto de la manera correcta?


Espero que esta solución te ayude ya que me ha ayudado mucho.

<?php if(mb_strlen($post->post_content,''UTF-8'')>200){ $content= str_replace(''/n'', '''', mb_substr(strip_tags($post-> post_content), 0, 200,''UTF-8'')); echo $content.''…''; }else{ echo str_replace(''/n'', '''', strip_tags($post->post_content)); } ?>


Los comentarios anteriores son correctos siempre que tenga habilitado mbstring en su servidor.

$var = "Бензин Офиси А.С. также производит все типы жира и смазок и их побочных продуктов в его смесительных установках нефти машинного масла в Деринце, Измите, Алиага и Измире. У Компании есть 3 885 станций технического обслуживания, включая сжиженный газ (ЛПГ) станции под фирменным знаком Петрогаз, приблизительно 5 000 дилеров, двух смазочных смесительных установок, 12 терминалов, и 26 единиц поставки аэропорта."; $foo = mb_substr($var,0,142, "utf-8");

Aquí está la documentación php:

http://php.net/manual/en/book.mbstring.php


Nunca use la función constante en substr para la cadena UTF-8: $ st = substr ($ text, $ beg, 100); 50% de probabilidad de que obtengas la mitad de un personaje al final de la cadena)

Hazlo así:

$postion_degin = strpos($text, $first_symbol); $postion_end = strpos($text, $last_symbol); $len = $postion_end - $postion_degin +1; $st = substr($text, $postion_degin, $len);

Resultado 100%

No mb_substr


PHP5 no entiende UTF-8 de forma nativa. Se propone para PHP6, si alguna vez sale.

Utilice las funciones de cadena multibyte para manipular cadenas UTF-8 de forma segura.

Por ejemplo, mb_substr() en su caso.


Si sus cadenas pueden contener caracteres Unicode (de varios bytes) y no desea romperlos, reemplace substr con uno de los dos siguientes, según lo que desee:

Limitar a 142 caracteres :

mb_substr($var, 0, 142);

Límite a 142 bytes :

mb_strcut($var, 0, 142);


Una alternativa adecuada (lógica) para cadenas de Unicode;

<?php function substr_unicode($str, $s, $l = null) { return join("", array_slice( preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY), $s, $l)); } $str = "Büyük"; $s = 0; // start from "0" (nth) char $l = 3; // get "3" chars echo substr($str, $s, $l) ."/n"; // Bü echo mb_substr($str, $s, $l) ."/n"; // Bü echo substr_unicode($str, $s, $l); // Büy ?>

Utilice el PHP: mb_substr - Manual