Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Peperaio

[Resolvido] Função PHP equivalente ao "substring" do java

Recommended Posts

Olá galera

Estou precisando cortar umas strings, mas infelizmente não achei nada pronto na internet, nem no php (substr)

 

Eu preciso de uma função php que faça exatamente como a substring do javascript, ou seja, que eu tenha que dizer um indice inicial e outro final.

Agradeço a ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ué... http://php.net/manual/en/function.substr.php

Você mesmo disse.

Poste um exemplo de string que precisa cortar, que ajudamos, se for o caso.

 

Exemplos do manual:

 

echo substr('abcdef', 1);     // bcdef
echo substr('abcdef', 1, 3);  // bcd
echo substr('abcdef', 0, 4);  // abcd
echo substr('abcdef', 0, 8);  // abcdef
echo substr('abcdef', -1, 1); // f

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela resposta. Eu pretendo fazer um corte desta maneira:

 

$string = "========??????asasahttp://rapidshare.com/#!download|246tg2|193840651|Livro.Medicina.Alternativa.A-z.detudoprabaixar.org_by.jota.PDF?????????========";
//o objetivo é mostrar somente o "http://rapidshare.com/#!download|246tg2|193840651|Livro.Medicina.Alternativa.A-z.detudoprabaixar.org_by.jota.PDF", ou seja, desde o rapidshare até a proxima ocorrencia do "?" depois do rapidshare.

 

Com javascript, o substring é perfeito neste sentido, mas o substr e o explode do php não estão atendendo me perfeitamente. no caso do explode, eu estou dividindo pelo "?" ou pelo "=", mas neste caso eu tenho várias repetições destes caracteres...então fica algo confuso, e o substr tem aquele maldito terceiro parametro que apenas devo informar o tamanho da string retornada. (e estas strings tem tamanhos diferentes...).

 

obrigado novamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em PHP, eu acredito que a maneira mais simples de fazer o que você quer é usando expressão regular, com o auxílio da função preg_replace.

 

Vou dar uma olhada nas ERs...pena que não sei mecher muito nisso..se puder dar uma luz. ;)

É por estas e outras q eu prefiro o javascript...valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

$string = "========??????asasahttp://rapidshare.com/#!download|246tg2|193840651|Livro.Medicina.Alternativa.A-z.detudoprabaixar.org_by.jota.PDF?????????========";

if( preg_match('@\?.*(?<endereco>http\:\/\/.+?)\?@', $string, $reg) ){
   echo $reg['endereco'];
}

 

@braços e fique com Deus!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
$string = '========??????asasahttp://rapidshare.com/#!download|246tg2|193840651|Livro.Medicina.Alternativa.A-z.detudoprabaixar.org_by.jota.PDF?????????========';
preg_match('/(http:\/\/[^?=]+)/', $string, $x);
echo '<pre>';

$x = explode('|', $x[0]);
print_r($x);

 

Resultado:

 

Array

(

[0] => http://rapidshare.com/#!download

[1] => 246tg2

[2] => 193840651

[3] => Livro.Medicina.Alternativa.A-z.detudoprabaixar.org_by.jota.PDF

)

 

:thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

$string = "========??????asasahttp://rapidshare.com/#!download|246tg2|193840651|Livro.Medicina.Alternativa.A-z.detudoprabaixar.org_by.jota.PDF?????????========";

if( preg_match('@\?.*(?<endereco>http\:\/\/.+?)\?@', $string, $reg) ){
   echo $reg['endereco'];
}

 

@braços e fique com Deus!

 

Oh rapaz, valeu ai..era isso mesmo que eu precisava.

 

<?php
$string = '========??????asasahttp://rapidshare.com/#!download|246tg2|193840651|Livro.Medicina.Alternativa.A-z.detudoprabaixar.org_by.jota.PDF?????????========';
preg_match('/(http:\/\/[^?=]+)/', $string, $x);
echo '<pre>';

$x = explode('|', $x[0]);
print_r($x);

 

Resultado:

 

Array

(

[0] => http://rapidshare.com/#!download

[1] => 246tg2

[2] => 193840651

[3] => Livro.Medicina.Alternativa.A-z.detudoprabaixar.org_by.jota.PDF

)

 

:thumbsup:

 

Entendi, esta função fez algo parecido com o explode, dividir em arrays uma string. Bem, preciso estudar ERs urgente...valeu pelo código e explicação

tópico [Resolvido]

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.