Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Laravel faker lorem ipsum


Laravel faker lorem ipsum


The Faker library in Laravel can generate fake data, including random text. However, the default "lorem ipsum" text it generates is not localized and may not match the language structure of the desired locale.

To generate more realistic text in a specific language, you can use the `realText()` method instead of `text()` or `paragraph()` [1][3][4]:

php
$faker = Faker\Factory::create('en_US');
echo $faker->realText(); // generates a random string of 200 characters at most

This will produce English-looking text using a Markov chain algorithm based on a corpus of text from that locale. The generated text will be grammatically correct, although not semantically meaningful.

You can specify a maximum number of characters for the generated text:

php
echo $faker->realText(180); // generates a random string of up to 180 characters

The `realText()` method uses a two-word index by default for more natural results, but you can switch to a one-word index for increased randomness:

php
echo $faker->realText(200, 1); // use a single-word index for the Markov chain

Currently, Faker provides `realText()` support for English (`en_US`), German (`de_DE`), and French (`fr_FR`) locales out of the box [4]. You can contribute support for additional locales by providing a large corpus of text in that language.

In summary, use `$faker->realText()` instead of `$faker->text()` to generate localized, grammatically correct fake text in Laravel. Adjust the maximum length and index type as needed.

Citations:
[1] https://github.com/fzaninotto/Faker
[2] https://stackoverflow.com/questions/49464984/how-to-generate-random-string-using-laravel-faker
[3] https://fakerphp.org
[4] https://www.redotheweb.com/2014/03/04/faker-generates-real-text.html
[5] https://github.com/laravel/framework/issues/28410